Hi dizcza,
My comment about the 1024 Hz was associated with I2C messages, as you assumed correctly, and my comment about alarms is because they can repeat every couple of minutes, which I thought could be what appeared to be random interruptions of the signal output.
I'm rusty on the DS3231 details but you are trying to keep it synchronised with the GPS. Possible fake IC response is of course an unknown, so we can only hope but my own experience has been that if they don't comply, it is usually pretty obvious. It is likely parts are from a source that was used by the original vendors in keeping costs down. However, I'm slightly confused by using the AGE register to adjust synchronism, as my understanding was the DS3231 adjusts oscillator capacitance, to temperature correct the clock (32.768 Khz), altering the AGE pointer to the look-up table based on temperature. Is there a reason AGE is altered, instead of leaving the DS3231 to adjust the clock aspects and simply uploading the correct time data from the GPS? It seems that altering AGE could be injecting a larger clock disturbance, rather than the small changes that temperature could change over the minute or so it is regularly checked? I think it is even possible to invoke a measurement?
I couldn't see a power supply trace but with a battery as well, I can't see a big problem, although check there aren't any big ground bounce voltages, it is just as important and not always obvious when a general probe ground point is used. You are at least not on breadboard and are aware of other signals.
Are you now certain SQW switching to 1 Hz, coincides with an I2C message, as that is an obvious clue? One item springs to mind, which is the addressing of the registers wraps around, so addressing outside the range will wrap back to some point within the correct address range. If a mistake is being made there, you could be altering a register that was not the intended address. You will be more aware of the exact nature of your code operation. I think there are many ESP32 sketches associated with the DS3231, as well as GPS time adjustments and synchronisation. I would only use GPS for super time accuracy, which most of the time isn't necessary but doing these things is a good educator!
Best regards.
Edit 1: The images updated on my screen, so I've seen the Vcc trace now, nothing obvious, as you say.
Edit 2: I refreshed my memory on the DS3231 datasheet and can see the AGE aspect. It is an offset to the temperature adjustment, rather than my memory of it being the main pointer to the temperature tracking, so can see the logic of trying to keep the two ticks in sync, although maintaining it at zero error really requires an integrator and a little control theory for maintaining a stable feedback loop. This thread has strayed rather a long way from the VDS1022 EXT trigger!