Using "trap addresses" is the worst case, because there is no reason to do so. Also, it is more expensive than witness or OP_RETURN.
And yet the bitcoin protocol allows us to send funds to "trap addresses".
Your statement is misleading. Bitcoin protocol only check whether the address is valid or not.
So why you think that using "trap addresses" is better than OP_RETURN?
you're asking me why I personally think that? not a big fan of op_return since
"Many members of the Bitcoin community believe that use of OP_RETURN is irresponsible in part because Bitcoin was intended to provide a record for financial transactions, not a record for arbitrary data" not a big fan of trap addresses either since i'm not the type of person to set fire to a $100 bill.
You forget to quote this part, "Despite this, OP_RETURN has the advantage of not creating bogus UTXO entries, compared to some other ways of storing data in the blockchain."[1].
Each block header has 80 bytes. So heavy, isn't it?
I don't know man. This was a portable version of electrum and it went wild downloading blocchain headers. I think the filesize was a couple hundred megabytes before I just stopped the program and deleted that big file. I don't need that.
If it's that big, it's likely you imported wallet with lots of transaction. Besides block header, Electrum also download merkle proof to prove the transaction on block[2]. It's cost when you don't want to blindly trust someone else.
[1]
https://en.bitcoin.it/wiki/OP_RETURN[2]
https://electrumx.readthedocs.io/en/latest/protocol-basics.html#block-headers