but the hw timer will not work alone, there will be code involved, so some compensation will be necessary.
Then the hw timer implementation is not up to the job!
HW timer counters should be able to latch the count without sw intervention. You should be able to just read out the count.
They should also be able to start the next count without sw intervention.
Do not rely on the ESP32 clock to be accurate enough to gate your counter, it is 10 times worse than the clock you are trying to verify.
The 1pps should have something like 15ns jitter so is a better gate source for the timer.
With the Neo7 Series, you can set an arbitrary output frequency.
The Neo7 48MHz clock cannot be divided down to 10MHz evenly, this will result in the 10MHz freq having significant jitter. Do a search, I saw some people already tried to use the freq out of a gps as a clock source, they found there was jitter due to the divided down ratio.
In addition, the M series is the positioning model so the clock on it is not temperature compensated so any temperature variation will cause enough clock variation that it is not worth it.