> "I have a problem, here is my recommended fix, how does that sound?"
Couldn't agree more, I've lived by this principle myself. leaders are not problem solvers though, a leader gets to reject the really good idea of someone that does come up with a seemingly great idea without letting them down harshly, and also encourage that atmosphere of continuing to suggest solutions. They also set the direction (tactically for technical leaders, and strategically for people leaders) of the team, so that the problems an IC does focus on is aligned with the leaders' priority.
If your engineers are making their own decisions, there is the problem of conflicting changes (even in Git the concept of conflict resolution exists, someone has to decide to merge the changes into main/master after resolving conflicts). There is also the problem of ultimately them spending a lot of time on something, only for that being low priority, or rejected outright because it doesn't make sense strategically, that demoralizes people and creates a terrible atmosphere. A very clear chain of command is important at work as it is on the battlefield. And just as in a battlefield, due to the clarity of that chain of command, a general being killed by the enemy does not decapitate a battalion, the person next in the chain of command takes over. Not only should leaders be replaceable by design, they're often rotated from team to team to ensure such an informal dependency on them never forms.
I think what you're describing to the most part is also the problem I outlined in my first post: The spreading of blame by supposed leaders creating an over dependency on them and credits for work they didn't contribute to much, and creation of actual leaders that end up being irreplaceable because their role wasn't formally designated or acknowledged, but assumed, they're not part of the planned structure of the chain of command.