What you actually pay is your National Health contribution, so yes, technically we all pay for the NHS. The point however, is that there's no restriction on the medical care you receive if and when you need it - the NHS will give you unlimited medical care in return.
I'm not getting into a back and forth debate about the meaning of 'free' - that's not the point. I've already acknowledged that we all pay something. We all pay for everything in the end.