Isn't that called romanization? Similar to turning 刘慈欣 into Liu Cixin because you can't make the characters
I've found that germans take it for granted that it works this way, but I know of no other latin-script-based language that does romanization. Granted, I don't speak very many languages, but at least among the bigger ones like French, it's not like you write cafee (add an e because you dropped an accent), it's just cafe when you can't make the é. That's actually a terrible example, I just realized, because in german you totally use kaffee (yes yes, different word but same root). Let me try again with the word naive, coming from french naïve: you'd never write naieve. Or if you don't know how to make the ï in Dutch geïntegreerd, writing geintegreerd is understood by everyone whereas geientegreerd only leads to confusion. You could argue that it's because these ï don't have an "e" quality to them, but there is no other romanization taking place either for these, it's just dropped. Only Germans romanize to preserve the pronunciation-to-spelling mapping
You have a vowel that is roughly in between "o" and "e" as used by Latin, so you start by writing it thus: oe
That feels too long, so you make it a digraph: œ
Some people still think that's too long, so you start putting "e" on top instead: oͤ
That tiny "e" on top is kinda tricky to write in full, though, and slows things down, so handwriting eventually trims it down to just two vertical strokes: ő
Lastly the strokes themselves become shorter and shorter until they become points: ö
But since it's been "e" all along, the old convention still remains, and is arguably just as German as the umlaut diacritic. It's not something imposed on the language from the outside, as is usually the case with latinization of non-Latin-based scripts.
Coincidentally, this is also the origin of Swedish å (literally "o" over "a") and Spanish ñ (literally double "n", with one written on top of another)