Agree. But where? (Genuinely wondering) In any case, I never said it was free, its zero fee.
It's a good question to continuously be asking. As far as I know, just the spread. In a custodial exchange, your buys may not be onchain, could be just within their existing system. Sending OUT of strike I think has to be on chain. You can perhaps find it on a block explorer to see the fee.