I found the problem seems to be gym 4. It's a huge wall and you need lv 50-55 pokemon to smoothly beat it (or a good dark type pokemon at lv 50). When I got to the 4th gym I had 3 pokemon between level 42-48, a fire, electric and fairy, but got absolutely stomped. I wanted to continue grinding but could only find lv 13-16 pokemon which was immensely slow to level up on. At this time I also decided to catch a houndour, but the problem was that he was lv 15 and I had no trainers to fight and after lv 30 the progress slowed wayyyyy down as well. It was so frustrating that I just gave up on johto story, bought some cheap high lv pokemon and powered through it so I could get to end game content and enjoy the game again. I found once I got to dragons den the game became enjoyable once again bc the place is great to level up.
I feel like the leveling in johto is set this way to create a superficial difficulty, or to extend your time in johto. But honestly I just got frusturated and didn't even want to play it anymore. I loved the speed and pace of kanto, but was pretty let down by johto solely bc of the leveling speed.
I feel like 4th gym is possible without crazy grinding if you only use 1-2 pokemon and don't spread trainer exp among several pokemon, but I hate having 1-2 pokemon super high level while the rest of my team idles in the teens. And if you want to add a pokemon to your team, like a dark type for example to help with gym 4 then RIP, enjoy that grind to lv 50-55 on only lv 15 pokemon.