This was especially the case for commoners, or non aristocrats, who only had first names, and had to be uniquely identified by their professions, the names of their fathers or a well known relative. If Bob the Builder got a knighthood for exceptional diligence in building siege engines for the noble and perennial cause of annoying the French, then the only real name the title could be attached to would have been "Bob."
The reason it is different for other titles is that those titles belonged to the landed aristocracy, and were generally titles to the fiefdoms of that territory, so titles like Lord Acton, Lord Dunsany, or Alfred, Lord Tennyson, referred to actual places. If a higher title is awarded to a commoner who does not possess a hereditary fiefdom, then a fiefdom will be invented for them such as when William Thompson became Lord Kelvin.
The explanation given is that the princesshood attached to her, personally. I suspect it is the same with a knighthood. And the "dr" comes before the "mrs", as it is more prestigious.
But, as with many things, don't think TOO hard about it.
https://en.wikipedia.org/wiki/Princess_Christina,_Mrs._Magnu...
And while Britain allows dual citizenship, most countries do not. So in most cases you need to rescind your other citizenship in order to be come an actual knight.
FYI since I've seen this mistake a few times in this discussion: Sir Clive or Sir Clive Sinclair. "Sir" and "Dame" are attached to the given name, never the surname. I don't know why it's different from other titles, and Wikipedia doesn't seem to explain, just states the rule: https://en.wikipedia.org/wiki/Sir