Maybe pair programming is not so much about a performance-enhancing technique, as much as it is a mechanism to create some time for the other person to focus on design/composition. That’s certainly an interesting thought.
Though the stated purpose of TDD is to make more robust, bug-free code, I think the true purpose is to “create time for tests, which is often scheduled last and thus not at all”.
On my team, we create plenty of time for design. Indeed, the whole async way of working is specifically about creating that kind of breathing room, while also creating time for focused performance in a state of flow.