This has been my experience as well. The best model I have access to right now is Opus 4.8. It's really good at fixing bugs in an established architecture or adding a similar feature, but it's absolutely mid tier at putting together a simple effective architecture for even common software problems. I can tell that functional programming practices are not a large part of it's training material.
Fortunately I’m at a startup with basically infinite Fable 5, and it is legitimately a huge step forward over Opus 4.8. Would recommend. Hopefully some open weight models catch up to its capabilities soon.