Currency and food are different. As mentioned, the actual food and drinks cost a handful of pennies and selling prices are many multiples of their cost - the profit goes towards the fixed costs/overheads. You know what the profit will be on every item sold and you manage your inventory so that you only order the fresh items you expect to sell, and you sell most of them every day or even run out.
If you are offering currency, you would have to have paid collateral for the full value of every banknote at the time you obtained it, but the actual value of your stock goes up and down all the time in terms of your operating currency. You need to keep large amounts in stock but your actual trade will be low as a proportion of your stock. While for common currencies you might be able to expect a fixed profit if many people buy and sell them every day, for "exotic" currencies you might only get one customer a week or less, and if you didn't have an outrageous markup you could easily be forced to buy something "back" at a higher rate than you previously sold them. There is a fixed maximum number of products you can offer, unlike a food shop where you can make new items if customers start to get bored.
And talking about getting bored, the problem I have with UK stations is that the food and drink is boring, it's mostly the same chains everywhere, independent shops are rarer and in any case they still tend to sell the same things as the chains. I find packaged sandwiches disgusting so there's very little choice available for me. I guess M&S has an acceptable range but I have probably tried most of their offerings I am willing to try and it's getting boring too.
In continental Europe bakeries are common in stations, and to me the range of palatable options is much wider, even if they are chains. I don't think I am being biased as I spend roughly the same amount of time in UK stations as I do in mainland Europe stations. I mean there are bakeries in UK stations too but the offerings just don't seem very inspiring, plus the prices are high for what you get compared to France or Germany. (Switzerland is not expensive if you think in terms of francs. But then I have Swiss francs and I do not convert them from pounds when I go there.)
As for drinks, as I avoid alcohol and coffee there is very little on offer in UK stations too. It's either going to be some overly sweet juice, or tea which is a ripoff (I do carry teabags around and sometimes ask for hot water.)
I don't go to McDonalds except very occasionally for breakfast if it is the only place around, or the only place open, but the prices certainly vary by 10p-50p even between locations less than a mile from each other.