Hard disagree based on what I've seen. Seven joins at 80ms is a tuning problem, not a normalization problem. That's either missing indexes, N+1 queries, or both.
I've built the opposite trajectory: started denormalized with duplicate data, hit consistency bugs that took weeks to untangle. Sync issues between tables, stale counts, the works. Now I normalize, use proper indexes and views. One query at 12ms beats seven at 80ms that you have to rebuild when data changes.
The real cost is developer time fixing denormalization bugs in production, not query optimization work.