Initially I thought it was a TZ issue because of automatic location but the offset ended up being inconsistent with any TZ. Looks like a mix of RTC and NTP issue, the latter hiding the former when it works but revealing it when it fails.
Luckily I don't use alarms on my phone.