Gen 4 was also the last gen that tried to combine a well-sized lineup of new pokemon with a decently chosen array of old ones to construct a regional pokedex that was simply well-rounded and made sense for a region. Gen 5 first made the huge mistake of including zero old ones at first, a mistake they quickly fixed in bw2, but then it got too big, something that became even worse with gen 6's 450 mon dex.
Gen 4 also made tons of pokemon as good as they always should have been by introducing the phys/spec split as well as generally improving learnsets.
Gen 4 was also the last game that had any sort of difficulty and progression of difficulty to it, before they started giving away lucky eggs, high level wilds, op in-game trades or straight up gifts before every gym and a completely broken exp share in later gens. It was also the last gen without extensive handholding and hours of cutscenes that told you exactly what to do and where to go as soon as you exited any gym.
It was also the first gen that had a grass starter that wasn't completely trash for regular playthroughs.
Gen 5 did have a refreshing and overall good story, but it also had the ugliest starters and overall least creative set of new pokemon of all the generations (really just a worse copy of the gen 1 dex).
Yes, Gen 4 was slow. But at the time it wasn't a major letdown imo. It's only really bad if you compare it to Gen 5, which brought close to zero graphical improvements, but at least the better speed. I don't see anyone say that gen 1 was the worst because the graphics were trash when compared with later generations, so let's drop that argument already.
I'll rank 4 near the top and 5 in dead last any time.