Looking at it from one perspective, this makes universality a terrible waste. You’re raising all of that revenue from taxes and then giving some of it back to people who are quite capable of funding whatever it is themselves privately. What if the NHS required everyone earning above a certain figure to pay hotel rates for overnight hospital stays, and asked poorer people to fill in a form to be allowed to stay for free? With the healthcare budget as stretched as it is, the money could be put to all kinds of good use. And shouldn’t higher earners have to contribute a fee if they decide to put their children in state education? Think of the books and equipment it could pay for.
Of course, the relatively affluent already do contribute more towards the cost of public services in the form of taxes (though the very wealthiest have concocted all kinds of schemes to avoid paying what they should). Means testing isn’t necessary to ensure that those who can afford it are asked to pay more. What it represents, in reality, is a rejection of the idea of collectivity. Universal provisions are seen as public goods which benefit the whole of society. Means testing assumes that, ideally speaking, the person making direct use of a service should foot the bill – but help should be provided to those who can’t manage.
The erosion of universality has turned Nice Things into welfare. This is a key issue here, also. The way to "means test" programs is to increase taxes on the rich. That is how they pay more. Adding in bureaucratic hurdles and income and asset tests (and drug testing and criminal penalties for "lying" on your application form!) just humiliate the needy while not actually reducing costs much, if at all. I lose my shit when Very Serious People talk about "means testing" Social Security, by which they mean clawing back benefits for higher income people. You "save" no money doing that unless you start clawing back benefits for people who don't make that much money at all. Everything is already (or should be) means tested on the tax return. You don't need a separate eligibility bureaucracy for every little thing. Provide education, health care, school lunches, retirement, etc. Don't means test public high schools, and don't means test the rest of the Nice Things government should provide as a part of a healthy civil society.