Just to remind people up-front here, I know a very limited amount about 5e, so I will not reference it at all here.
Given 4e's XP Budget system worked great and 5.0's CR system worked only marginally better than the absolute wild mass guessing of 3e's CR system, I don't really think "exception-based design" is at fault for making CR as much art as science. 4e was remarkably reliable. Not absolutely so, because dice will be dice and players make the characters and parties they want to make etc., etc., but dramatically moreso than either 3e or 5.0.
I'd argue that 4e made a far more strong attempt to keep monster design within the same bounds than any other D&D system I've seen; that's not saying it did not have exception based design, but at the same time, I kind of think it didn't
want to; by which I mean as much as possible (and this was more true with later monster design than earlier) monsters were built to the same metric, even though they had to do so to at least some degree ad-hoc.
To describe that as "not the case" with prior editions is an understatement for the ages.
I think that made an enormous difference in why 4e's encounter mostly worked, and 3e's (especially as you advanced in level) was a trash-fire. It was, to some extent, despite it being exception based, but that's because to the degree they could they absolutely hosed down that factor.
If anything, the only game you mention here that even remotely approached "monster design rules that had to be followed" was 4e...and even then only to a pretty limited degree.
Encounter building in 3e was one of the single worst aspects of DMing it. I've lost--not joking--three 3e(/PF1e) DMs over the years very specifically due to encounter-building burnout. No other part of DMing it was anywhere near as time-consuming, vexing, and inconsistent.
Interesting. I'll never say that the 3e encounter building
worked after a few low levels, but it was not what drove me out of the system; it was having to deal with the million special-case moving parts during actual play as the levels advanced. Life was too short.