A quick followup on this issue:
This issue is not related to the virtualisation, it is related to negative drift coefficients. My hardware requires a drift coefficient of approx -15.
The drift file /var/db/ntp.drift is either being removed (due to a negative coefficient?) or is not saved across a system restart. I am not sure which is the case. At this stage I have not had the time to investigate. All I know is that when I log in after a pfsense restart there is no ntp.drift file.
In this situation NTP starts for some reason with +500 as the drift. Given that the hardware requires -15 it takes a very long time for the NTP daemon to sort things out. In my case I can fix the problem instantly by:
1. Stop the NTP service from the pfsense web admin.
2. Create the /var/db/ntp.drift file and put in -15.000 as the value
3. restart NTP from the web admin
If I do this the entire NTP system stabilises in no time (5 minutes) and everything is OK from then on.
Tim