Go totally noncustododial, use noncustododial addresses, you can send from segwit to legacy and from legacy to segwit. But why bothering about legacy addresses, it is good not to use such addresses anymore unless it is mandatory, you can save up to 42% to 52% on transaction fee if you are using segwit.
Yes, they're compatible but that would depend on the software you're using. Some wallets/exchanges don't support sending/withdrawing to bech32 addresses.
That is true, but I am still wondering why some exchanges just do not do such important update in time, segwit is now 4 years, I can never use such exchanges, although the transaction fee on exchanges are demanded for by the exchanges and much more higher than the normal transaction fee.