It looks like we are currently synchronising the ESP32 RTC to GNSS in two places:
rtcUpdate - here if (millis() - lastRTCAttempt > syncRTCInterval)
tpISR - here via interrupt, on the rising edge of PPS if (millisNow - lastRTCSync > syncRTCInterval)
Let's make sure tpISR wins - on platforms that support it - for the most accurate clock synchronisation...
I think we have some redundancy and probable conflict between lastRTCAttempt and lastRTCSync. Let's resolve that...