#TDD doesn't produce designs, good or bad.
If you see statements like:
"TDD produces a design based on indirections. Much more complex than what could be otherwise."
Without some kind of examples, e.g., video of the process that demonstrates it, it's a meaningless and useless statement.
Humans design code, and in TDD they can use the feedback from Red-Green-Refactor to make decisions. The decisions are design, not the mechanism (TDD).