Florian, thank you for a thoughtful and thought-provoking post. After 50 years as (a still working) software designer and builder, I've come to value simplicity and clarity over most other software attributes. I have little respect for developers who build rat's nests of code and expect me to thank them for being too lazy to design it properly.
As with engineering in general, the simplest solution that can meet the requirement is usually the best solution (Occam's Razor).
If any of the parts of your solution are still complex and hard to understand, you haven't finished designing it.
Creating complex solutions is fine if one's job is designing crossword puzzles for the Times, not if one is building software systems. Our job is untangling complexity to make it understandable and useful.