Typically the capital city has an English name, which is often not just pronounced differently but also spelt differently from the local name. But for almost every other town English speakers use the same spelling, or a transcription of it, and aim for something like the local pronunciation. So for France, there's "Paris" and "Strasbourg" and that's about it. For Germany, there's "Berlin" and "Munich" and that's about it. But for some reason loads of Italian towns have their own English name: Venice, Milan, Naples, Florence, Turin, ...
Whilst it's interesting to think about your points, they feel somewhat orthogonal to my point about the word being adopted into English (so it can have a pronunciation the way native speakers feel comfortable with, which can vary to a degree from the original unadopted word). Was it meant as some kind of rebuttal or merely an interesting observation? (eg with the Italian names)
Note as well that Turin and Milan are the names in the local
(regional) language.
Edit: And Munich is almost identical to Munichen which is the old form of München. Cologne could have been a better example (but it also comes directly from French, like Rome, Florence or Naples).
Standard French pronunciation of "Strasbourg" has an /r/ but no /g/. Of course it's a German name, really, but the Germans spell it a bit differently, and neither French nor Germans pronounce the second vowel in the way it is normally, I think, pronounced in English.
Good point about regional languages in Italy.
"Cologne" is a good example, though some people, including me, usually say "Köln" in English, though I wouldn't say "München", except in the name of the football team "Bayern München", which for some reason is usually called thus in English.
Do you mean then that English speakers write the name of every French city, including Paris and Strasbourg, as French speakers do and also pronounce them as French speakers would except for Paris and Strasbourg?
Edit: I had never thought about Strasbourg, really. I see now that the adoption of the French spelling in English is relatively recent and also Marseilles and Lyons used to be written differently.
Edit2: Dunkirk seems to be the main (only?) example where the French name is not used.