There's also friction for workers. If you work in a town, and your job sucks or your employer fails, you may have to move to another town. In a city, you pick up your bag and walk across the street.
On the other hand if you live in a city and the schools fail, then you're hosed.
Another theory I've seen: As the middle class gets squeezed, fewer families can maintain that standard of living with only one parent working.
In order for both parents to stay reliably employed, you need to be in a location where jobs are dense, so that spouse-A can find a new job without spouse-B quitting theirs... And vice-versa.
In contrast, when you can support the family on just one income it's easier to relocate as employment changes.
I’ll take my economic chances before having to live in the city. The quality of life just isn’t there.
Lower costs in the suburbs or rural areas means my runway is much longer than in the city, which offsets the job availability (6 months of city non-discretionary expenses is a year or more outside the city). I can also afford a 4 bed/2.5 bath house with a pool on a quarter acre, which would be impossible in the city.
On the other hand if you live in a city and the schools fail, then you're hosed.