Over the course of 35 years developing software, I completed several circuits of pioneer/settler/planner loop. Learning to function well in all three domains was as important to increasing my professional value as learning different languages, tools, OS's, and problem domains.
I feel like I know what business/code trade-offs I should make depending on which of those characters I’m currently playing. I also know what type of flexibility I should build into the product early on and which best practices can wait until market fit has been found.
I wouldn’t want to take a city planner into the wilderness (sewers and squares before we know if anyone wants to even live here, lots of high quality code that has no users). And I also wouldn’t want to be a mayor having pioneers running my subway/water system (bandaid fixes, poor long-term decisions, spaghetti code)
But I agree with you overall that people can adopt these roles based on context and aren’t limited by them