There is just a small confusion in the detail but OP is right
For example have you ever seen Ethers gas limit or as you prefer to call it gas drop to 15K or go above 21K? Nope, it's always been 21K which is the limit for Ether transactions. Even if you manually change to 100,000 as gas limit, The Ether transaction will only use 21,000 gas limit.
So, the correct formula is
Transaction fee = Used gas * gas price.
As you yourself said, even if the gas limit is 100,000, the used gas will be 21,000.
Assume that the gas price is 10 Gwei, gas limit is 100,000 and used gas is 21,000
OP's formula will give 0.001 ETH for transaction fee while the correct value is 0.00021 ETH.
In other words, the known Gas limit for Ethereum transfers is 21000 and not any other value at the current state of ethereum network. So he is not wrong if he says;
Ether Transaction fees = Gas limit(in this case for Ether which is 21000) x Gas Price
Same applies to tokens, the most commonly used limit is 200k depending on the smart contract thou it may vary because of differences in smart contracts
That 21,000 gas is not called gas limit. Gas limit is the maximum gas can be spent in a transaction. It can be different from from used gas.
If the gas limit is bigger than used gas, the transaction will be failed. If the gas limit is lower than used gas, only the needed amount is used and the extra amount will be sent back to your wallet.
Same applies to tokens, the most commonly used limit is 200k depending on the smart contract thou it may vary because of differences in smart contracts
Yes, It is recommended to use 200,000 for gas limit when you send tokens. But that's not the used gas. That's gas limit which differs from used gas.
Gas limit * gas price will give incorrect value for transaction fee. Because the used gas will be lower than gas limit.