The azure image is configured with a custom chronyd.conf that causes chronyd to use the /dev/ptp_hyperv device, but that device might not be configured (yet) at boot when chronyd is started.
while the optimal solution would be for chronyd to properly wait for the device to appear instead of failing to start, an alternative could be for the chronyd service to wait for the ptp_hyperv device before starting.