Depois de olhar em volta, descobri qual foi a resposta. systemd-timedated falhou ao iniciar porque o ProtectHome foi ativado para o serviço e há um bug em que o daemon falha ao iniciar se / home ou / root for um link simbólico e o ProtectHome estiver ativado. Eu simplesmente desativei o Home e reiniciei o daemon com o seguinte:
sudo sed -i -e 's/^ProtectHome/#&/g' /lib/systemd/system/systemd-timedated.service
sudo systemctl daemon-reload
sudo systemctl start systemd-timedated.service
Agora, a hora está correta e minha localização é mantida nas configurações do sistema.