This analysis, I’m presuming?
You’d have to account for the costs of Merkeizing the data (some schemes require this, rather than simple hashing), which would end up quite a bit higher. You’d also have to account for the cost of calldata itself, which is going to be 16 gas per byte. So the costs of performing this operation on-chain are actually quite high.
If you’re using fraud proofs, you can’t simply re-post a transaction and check the calldata, as the transaction’s calldata and the contract call’s calldata may be completely different:
https://twitter.com/nicksdjohnson/status/1155672897756774400
Additionally, the separate field is particularly useful for multi-threaded data availability, which is going to be the subject of a sister EIP.