@Adrian Yang good question and it's one that trips up a lot of people coming from WiFi or cellular backgrounds where adaptive bitrate is just assumed.
BLE doesn't work like WiFi — there's no automatic rate adaptation stepping down through different modulation schemes as signal weakens. The 2Mbps mode (BLE 2M PHY) is a fixed choice you set at connection time, and the module holds that rate or it doesn't hold the link at all. What actually degrades with distance is packet error rate and effective throughput as retransmissions eat into your bandwidth budget — so you don't see a graceful "now running at 500kbps" situation, you see increasing latency and eventual dropped packets before the link breaks.
For your use case — IMU + GPS + environmental at 100-200ms intervals — the raw payload is honestly not that demanding. Even compressed IMU at 6DOF plus a GNSS fix plus a few sensor readings is probably under 100 bytes per packet, which at 2Mbps is trivially fast. The real question for your project isn't throughput, it's link reliability at whatever your operating range is. If you're ground-to-ground the 5km spec is conservative with clear line of sight, and you'll have solid link margin well before the edge cases. If you're man-to-drone you've got a lot more headroom to work with.
One practical thing worth doing: the STM32WB07 firmware repo on GitHub gives you access to connection parameters, so you can tune connection interval and supervision timeout to match your telemetry rate and make the link behave predictably under marginal signal rather than just dropping.