The u-blox datasheets are quite clear on what the operational limits are for each module. E.g. from the MAX-M8 datasheet:
Operational limits:
Dynamics: ≤ 4 g
Altitude: 50,000 m
Velocity: 500 m/s
I can personally vouch for the MAX-M8Q working very well on weather balloon flights at altitudes well over 30km:
http://arxiv.org/abs/1904.04321 (see section 2.3.4)
The trick is to set the dynamic model to (e.g.) “Airborne <1g”
https://github.com/sparkfun/SparkFun_u- … cModel.ino
Best wishes,
Paul