Quartz oscillators are sensitive to temperature. Modern computing involves varying power frequently, and therefore heat and temperature, so the real time clock varies a lot; even if we assume it sometimes gets calibrated / disciplined.
I think most phones sync to the cellular network time, when available. GPS would allow for an alternate time source, but it's not always enabled and maybe nobody thought to feed it into the time source while the network isn't available.
On Windows, I think the default settings for time sync are amazingly low; probably Microsoft didn't want to foot the bill, as they do run the servers windows syncs from, it's a large population, so increasing the sync volume would probably be meaningful. Microsoft also used to run a time server in Washington state somewhere with really bad asymmetric delay, leading to pretty poor sync performance. But it looks ok now.
Modern computers (including mobile SoCs) don't typically use quartz oscillators any longer. Instead, they use MEMS (microelectromechanical system) oscillators, at least some of which can automatically compensate for temperature variations.
I think most phones sync to the cellular network time, when available. GPS would allow for an alternate time source, but it's not always enabled and maybe nobody thought to feed it into the time source while the network isn't available.
On Windows, I think the default settings for time sync are amazingly low; probably Microsoft didn't want to foot the bill, as they do run the servers windows syncs from, it's a large population, so increasing the sync volume would probably be meaningful. Microsoft also used to run a time server in Washington state somewhere with really bad asymmetric delay, leading to pretty poor sync performance. But it looks ok now.