To be fair, medical students don't pay fees for 7 years. The NHS pays for some of them. Medical students actually get a good deal, because the fees are the same as for other students, but their courses cost much more. Students of English, Humanities, etc are subsidising them.
The difference is that medical students will probably pay back more than most other students, because they are likely to earn more over their working lives.
I don't think the fees have much to do with the disillusion. It's more to do with the contract which has been foisted on junior doctors, registration fees, re-accredition and hitting targets.
How do you work out that foreign-trained doctors are paid less? As far as I know, there's a standard salary. The saving comes from the training, which obviously costs the NHS nothing.