Back in Gen 1, the EXP Group assignments made sense and when you look at which Pokemon were assigned to which EXP Group, there was a clear deliberate thought behind which Pokemon were given which EXP Group.
Among the original 151, there were four EXP Groups: Fast, Medium Fast, Medium Slow, and Slow.
Medium Fast, which was a standard cubic function, and used a similar cubic formula as Fast and Slow but was the "medium" between the three, was the default EXP Group that just about every ordinary 2-stage/single stage Pokemon had, plus the Caterpie and Weedle lines. Most of them weren't intended to really be used as party members and more as enemies to be fought either as common wild mons or Trainer enemies, but they were nonetheless given a "normal" EXP curve if they were used.
Fast was given strictly to the Clefairy line, Jigglypuff line, and Chansey. The former two were rare encounters who made rather peculiar party members: they weren't particularly powerful in a vacuum and had the cost-benefit of being stone evolutions, where they could evolve early and lose the ability to learn moves naturally or evolve later and learn moves then evolve, but in that case they would be harder to raise since Clefairy and Jigglypuff aren't that powerful, so they would have to be switched out and share the EXP repeatedly, and having a faster EXP growth rate allowed them to still keep up in spite of receiving less EXP in a battle overall. Meanwhile Clefable and Wigglytuff would get a bit ahead in levels to help them stay relatively strong in spite of their rather average stats. Chansey was a cleric who is meant to play support and thus naturally switches in and out and shares EXP with teammates, so the fast EXP curve helped it level at a good pace in spite of that for the same reason.
Slow was assigned to basically any Pokemon who had a BST that was 430 or above...barring the Eeveelutions. Stuff like Pinsir, Starmie, Cloyster, Snorlax, Arcanine, Tentacruel, Exeggutor, Rhydon, Aerodactyl, Gyarados, etc. Either they were hard to raise and high reward (Magikarp->Gyarados being the prime example) or really strong single stage Pokemon off the bat that had their high power level balanced out by leveling up at a slower rate so they stay a bit behind in level so they're not that above the rest of the team. The epitome examples are the legendary birds and Dragonite, the former three being powerhouse pre-promotes at Level 50 who were powerful off the bat, while Dragonite was high investment, high reward and the slow EXP group made Dratini->Dragonair->Dragonite a long and grueling journey to the end result combined with the high evolution levels.
And then Medium Slow was basically assigned to any three-stage evolution line that wasn't Butterfree, Beedrill, or Dragonite. The starters and just about every other three-stage line has this group, most likely because all of them are intended for the final form to become a proper party member to be used in the game.
That was basically the line of thought in Gen 1. Gen 2 was a bit more arbitrary but that roster is connected to Gen 1, and those Pokemon were designed as "RPG Mascot" characters, if that makes sense.
Later generations were a lot more inconsistent and arbitrary on EXP Groups though, even if there were still some consistencies like most three-stage lines being assigned "Medium Slow". But largely they've dropped the Gen 1 line of thought in terms of Pokemon designs and this also applies to newer mons and which groups they're assigned, and the concept now feels very dated. Especially since Gen 3 which introduced the Erratic and Fluctuating EXP groups, and those feel very gimmicky since their whole thing is that their levelling rate is inconsistent over the course of Level 1 to 100, but there's little thought as to which Pokemon are assigned those groups (and they kinda stopped using them after their debut generation anyway).