A cheap GPS module without a disciplined 1PPS output (like the ublox MAX-M8 that's used in this project) typically has a jitter of about a few hundreds nanoseconds, so the potential is there for the precision to be much better than 1ms if the microcontroller on this clock has the 1PPS wired to an interrupt routine.
The 1PPS output may have that much jitter (due to it being clocked synchronously with the module's system clock) but I believe there is usually a way to query the device for the error between the 1PPS signal and the actual idealised pulse time.
Sylvain Munaut made a project using a high resolution TDC/time of flight converter to discipline another clock against the GPS idealised pusle time. I can't find a link right now unfortunately.
Yes, this feature exists, but it's usually only present on GPS modules that are sold specifically for time keeping instead of location tracking, such as the uBlox LEA-M8T.
They are much more expensive, think $100 instead of $10.
In a previous life, with a specific set of hardware, we used a measured value of 70 ns two sigma as the typical skew between two GPS-disciplined clocks. Don’t use these numbers without testing your own system, but confirms order of magnitude estimate.