✔ 最佳答案
Your friend is wrong on pretty much every point.
Donegal comes from Irish Gaelic, and means "FORT (not hill) of the foreigners." The "don" part is actually "dun" in Gaelic.
London's name doesn't come from any local language, so a superficial similarity to an Irish word (which the locals didn't speak) is beyond irrelevant. London's name comes from the Latin "Londinium" which is the name the Romans gave it when they founded it.
It's certainly possible that the Romans used a local name as the source for their Latinized version. But that local name would have been Brittonic (or Brythonic) Celtic, not Irish Gaelic.