I suppose they could limit fly to outside areas or very high-ceilinged caves (like most of the underdark)? That would be somewhat odd and inconsistent - but might work - each terrain area could have some label such as 'flyable' (as you have with walkabale areas). It
Yes! That sounds like a good solution that could reasonably be implemented without having to start all over again

Larian, please take note, we have just solved it ^^