If exchanges charge a different withdrawal fee for each address, it will discourage people from using those addresses wiht higher fees. For example, if they charge segwit addresses more than legacy addresses. Most exchanges support only Legacy addresses anyway, so this is a moot question for them.
If they want to shill Segwit and make contribution for Segwit adoption, they can charge different withdrawal fees on different address types. Most expensive withdrawal fee on Legacy. Medium withdrawal fee on Nested Segwit. Cheapest withdrawal fee on Native Segwit.
Why they did not seriously support Native Segwit is big question.
It's because the transactions for the withdrawals do not use their users' deposit addresses as inputs. They usually send it from their hot wallet.
The withdrawal fee isn't all used for the withdrawal transaction either, it's actually just a "service fee" for the Exchange, not based from the network's average fee.
If there's a benefit from using an Exchange's SegWit deposit address, it's mostly for that Exchange's consolidation transactions.
And for the network since SegWit input has lower vSize.
Service fee. Is it easier for them to manage their hot wallets with Legacy or harder for them to manage hot wallets with Native Segwit?
If it is the same, not harder, not easier, why they did not move to Native Segwit?