Counterpoint: your seven-join query was badly designed, not a normalization problem. That's a SELECT N+1 or missing index issue.
I've hit the opposite: denormalizing early burns you when requirements shift. You update one field in five places and miss one. Data becomes a nightmare. Yes, joins get slower as tables grow, but that's what indexes, query planning, and materialized views solve. You already used those.
The real cost is developer velocity fighting consistency bugs later. Normalized schema is a contract. Denormalized is... hope you remember every place you duplicated that field.