It is preferable to be able to simply put what you want to spend in an exchange so that you don't have to spend what you intend to hold already.
Is "spending" here limited to swapping to fiat? If I'm buying VPN subscription with Bitcoin it doesn't seem to offer any benefit. Regardless of that though, saying that we should leave some coins on exchange to save fees seems a bit careless. It isn't that difficult to separate your coins into multiple wallets or devices if you wanted to. Fees only takes a fraction of your transaction. Unless you're a day trader where you can move lots of funds each day (which assume the majority isn't).
There is no single benefit of using an exchange to keep Bitcoin, you will likely spend much on fees if you use an exchange to send Bitcoin to external address than when you use custodial wallet to send. A simple segwit transaction with 1 input and 1 output with 1 sats will cost few penny cent but if you use an exchange, you are going to spend $1-$3 flat fee for Bitcoin transaction, where is the benefit of exchange of not for fiat and I don't think OP is looking for exchange in the first place.
The only reason why I think anyone will choose an exchange for hodl and everyday spending over custody is volatility, and most likely they don't like to hold Bitcoin because of volatility, they use stable coins, swap between fiat and sell to other vendors on p2p, that's the only reasonable options unless the person is a full time trader which is understandable.