@Jessica Chan good question, and yeah you're thinking about this the right way — at marginal link margin the difference between a clean channel and a congested one can absolutely matter.
The STM32WB07 does support channel map updates through the HCI LE Set Host Channel Classification command, so it's not totally opaque — you can push a 37-bit channel map to the controller and effectively blacklist channels you know are dirty in your deployment environment. The AI Firmware Builder in the Dev Hub can help you wire that up if you haven't dug into the HCI layer before; the GitHub repo also has the firmware source so you can see exactly what's exposed to the host side.
The trickier part at multi-km range is that the "bad" channels aren't always static — they shift with interference sources and multipath conditions changing as your platform moves, so static channel exclusion gets you part of the way there but you'd ideally want to feed RSSI-per-channel data back into your exclusion logic dynamically. Worth experimenting with a spectrum analyzer at your test site first to see if there are consistently occupied bands (WiFi on 1/6/11 is the obvious one) before you go building adaptive logic.