A friend in Houston was telling me in the early 2000s about working on a NASA JSC project to use an off the shelf GPS receiver on the space shuttle. It took a few iterations on the firmware to handle 18,000 mph, etc., but he said the vendor eventually converged on firmware that worked in orbit.
To be clear, it's not that a receiver couldn't work, but that it shouldn't.
A civilian receiver is meant to deactivate under certain conditions lest it be suitable for use in things that go very fast and fly very high, e.g. missiles.
So as you say, you may be able to change the firmware to disable these restrictions, just don't try and take them out of the US...