I have the same experience. I have passed Codex's code over to Claude (Sonnet mostly) to simplify it and it did a so much better job. Codex couldn't comprehend a simpler solution no matter what.
Overall I prefer Codex over Claude in their current state, but I do agree that Codex's solutions tend to be too complex and I have to constantly tell it to simplify solutions, detect when it's creating ornate architecture, and proposing data models that have way too much going on. In my usage that's its main weakness.
This is a good idea. I'm making a complicated app and Codex is stuck at simplifying it, so I'll give Claude a go at it.