Bueno aunque te diste cuenta, es justamente rtc.lostPower() la que hacer lo que no quieres que haga.
Ese lostPower se suele usar para (que no te genere esto un dolor de cabeza) ajustar el reloj del sistema. Cómo??? Bueno el RTC lleva la hora pero al despertar el arduino le transfiere la hora al reloj del sistema, una rutina que lleva la hora basado en millis(), de ese modo no pregunta a cada momento al RTC. Cual es la ventaja? justamente tiempo. Y la desventaja? Que debes chequear dicho reloj del sistema cada X minutos para que no se corra demasiado.
Son estrategias.