Most US credit card banks have been charging 2-3% for years. But now, thanks to a lawsuit, they show the fee as a separate item and as a "finance charge".
I certainly see the desire to have £20-30 with you when you leave LHR.
At the end of my trips to London, I put £3.80 in my left pocket for my tube ticket back to LHR. Then, when I check out of the hotel, I first pay with all remaining pounds that I have (except the £3.80) and then pay off the remaining hotel charges with my credit card. Result: No odd money left over.