Time to Measure the Pi (2016) [pdf]
crin.eng.uts.edu.au
crin.eng.uts.edu.au
I saw similar performance, including those occasional spikes. I found that the flood of interrupts caused by the usb chip - they are handled in the driver rather than on chip - were detrimental to accuracy. Temperature variations were another source of inaccuracy. I didn’t figure out how to connect an rtc together with the gps hat.
I might try again on a Pi 4, I think it’s possible to power off the usb chip without losing ethernet as it does on a Pi 3.
Would love to hear more about the issues you found with the USB chipset though!