In my experience (supporting a machine-translated codebase which resulted in shitty Java) your theory doesn't play out.
If you give developers a shitty codebase then those developers will leave to work somewhere else.
After a few years of working on this codebase we had 88% turnover. 1 in 10 developers remembered the original project's design philosophy and intention.
It wasn't a good situation.