After all, trains are not exclusive restaurants, and there are tourist attractions everywhere except trains and ships. Moreover, the dining car is contracted for exclusive operation, with only the right to eat and not to eat, and there is no room for price negotiation. But do you think they earn a lot of money?
No, all the people who sell things on the train are railway workers. Local people can sell things, but they should contact the passenger section. The payment is very high, and the dining car contracted by railway workers has to pay profits. Although there will be gross profit, it can't be sold without making money, so things are more expensive.