There are lots of ways to destroy Bitcoin but very few where an outside observer can tell that the Bitcoin was destroyed. Imagine for example you generate an address and send to it, and then destroy the private key. This Bitcoin is now lost, but nobody could tell just from looking that this address can't be spent from. Similarly, you could generate a random hash, and send to a Pay-to-Script-Hash address with that hash. Since you don't know the script that hashes to that hash, the Bitcoin is once again destroyed.
However, there are some provably lost Bitcoin (that bitcoin-supply.com tracks):
OP_RETURN outputs are unspendable
If a miner does not claim all of the fees in the block, those fees are destroyed
There are lots of ways to destroy Bitcoin but very few where an outside observer can tell that the Bitcoin was destroyed. Imagine for example you generate an address and send to it, and then destroy the private key. This Bitcoin is now lost, but nobody could tell just from looking that this address can't be spent from. Similarly, you could generate a random hash, and send to a Pay-to-Script-Hash address with that hash. Since you don't know the script that hashes to that hash, the Bitcoin is once again destroyed.
However, there are some provably lost Bitcoin (that bitcoin-supply.com tracks):
Some funds were recently burned with invalid Taproot outputs too, see here: https://suredbits.com/taproot-funds-burned-on-the-bitcoin-blockchain/