Storing arbitrary data in public keys and other means usually is far more costly than using witness data though, which discourage many people from doing it.
It is also far more costly for the full node user. Can you imagine the millions of permantly unspendable TXO?
Yes, that's true when we're talking about using public key. Although it's not true if they choose OP_RETURN, which is more efficient than using public key/script hash on address.