fwiw, I speak German and find the german layout to be insultingly unusable, especially for coding. So I use the american hardware layout (which lack three german letters) and type Umlaute äöü with alt+u+{a|o|u}. It doesn't feel like it adds significant overhead, I've built the muscle memory within minutes.
Any acceptable operating system should allow for such mappings, on macos this is active by default.