So I have a couple systems with wireless uplinks (one as a repeater at home, and one as a travel router). On both of them, sysntpd fails to ever set the time, and the system clock just increments starting from the initial date that was set by the sysfixtime script (which just isn't very good for systems that don't have a hardware clock).
In the travel router in particular, this causes problems as I am running a wireguard client there, and the wireguard server won't let the client reconnect if its system time goes backwards from a previously observed value.
I think the issue is that sysntpd's initial attempt to contact the ntp servers fails as the uplink isn't set up yet, and sysntpd never retries after the uplink gets set up a few seconds later. The issue persists until one manually runs /etc/init.d/sysntpd reload.
I can see /etc/init.d/sysntpd service_triggers() has code intended to automatically reload sysntpd when some interfaces go up, but that seems focussed on the cases of synchronizing to a dhcp provided server and/or serving time to a given interface. The case of connecting to a server that's not reachable until a given interface comes up isn't handled there.
As a workaround, I created a single line file /etc/hotplug.d/iface/20-sysntpd with contents: [ "$ACTION" = ifup ] && /etc/init.d/sysntpd reload
. This fixes the issue for me but I am not sure if this is the correct way, as it is not using the service_triggers() way. I'm not sure if this fix could be merged as is, or if a dev who knows more about triggers could be convinced to fix this.