https://en.wikipedia.org/wiki/Radio_clock
https://en.wikipedia.org/wiki/WWVB
I've had several that set automatically after plugging in, without the need for wifi.
It'd be cool if WiFi routers could broadcast the time unencrypted, for use by passive receivers, but that would get annoying if one near you is set wrong. Perhaps there could be a trusted source of signed timestamps, and a receiver just takes the maximum.
GPS transmit power is 44db with a 13 db antenna gain. I think. And -140 db sensitivity (typical) So close to 200db of link margin. And the transmitter isn't in clutter either.
Still leads to the same problem.
Also, as @rjsw mentions, accessing NTP doesn't help with setting alarms. Just setting the clock time - assuming your timezone is set correctly by the device.