What prevents an exchange from only receiving coin into a covenant is the same thing that prevents exchanges from not allowing withdraws. People don't use exchanges they can't withdraw from (unless you're an ETF numb skull)
I've also seen "wallets" that prevent you from sending to an address that isn't an exchange. We just don't use those wallets because they suck.