https://i.nostr.build/ruZKLm2c4dBKO9gi.jpg
It could be that you're sending from / receiving to relatively isolated nodes. Have you tried setting a maximum fee?
Can you set a maximum fee when paying an invoice. I’ve never tried it before.
Yes - the spec allows this to be set on a percentage or absolute value basis. Some wallets may not have implemented this. Indeed, some even game the routing so they can skim higher transaction fees.