There's nothing inherently wrong writing it Kiev in foreign languages. Of course, during todays Russian war of agression against Kiev and the Ukraine, it's a good show of support to write it Kyiv. But out of old habit I write Kiev most of the time.
My understanding is that most residents of Kyiv/Kiev speak Russian day-to-day, and therefore are more likely to use "Kiev" themselves. Russian language ≠ Russian state
It's a bit convoluted. Those people may speak Russian, but then "Kiev" is not a Russian spelling - it's a transliteration of one into other languages. And since those other languages are already foreign, they might as well prefer "Kyiv" for, basically, symbolic reasons.
A lot of Ukrainians I know seem to be speaking much more Ukrainian than they did a few years ago. People from Russian speaking towns.
There does seem to be a serious de-russification vibe, stronger than ever and definitely not just something foreigners are interested in.
I'll give just one small example that I'm reminded of... There's been a lot of drama about signs when you enter a town. Russians will capture a town, paint the sign with their flag, change spellings to replace і with и, etc. Ukrainians will recapture, repaint, and switch to their spelling... It's a thing.
Russia focused so much on language issues to justify what it's doing that it backfired - in any discussion where Russian vs Ukrainian can be brought up, it will inevitably be symbolic now, regardless of what people speak.
I mean, I don't call Germany Deutschland either, so I don't really think it's ignorance. Nor do I call Prague "Praha" except when I'm actually speaking Czech. Kiev is much easier for native English speakers to pronounce, and I'm not going to switch to a more unwieldy pronunciation to make some sort of political point.