What if everyone learned new features like a wizard learns spells, but little to no automatically learned stuff?
Maybe even having to do something to gain more HP or a higher proficiency?
Has anyone done this in a D&D style game? Am I just sleeping on cool indie games that already do this?
Does it sound fun?
I have done something similar. My main recommendation is not to do "no automatic learning", but to use this only when it fits in to the story.
My expereince was in a 3.5e game. I had an Assassin. On multiple occasions, he had to meet up with his guild to learn new techniques. The most important time was entering the guild, starting the prestige class, and getting the Death Attack ability. The DM didn't make me go back for every new class ability, but I had to go back and train with them regularly. IIRC (this was years ago), the DM also had other players report in for training a few times; the cleric had to check in with the church, the wizard had to study, etc.
As I remember, it worked reasonably well. It gave the characters some background, and ties to the local community. I had zero complaints at the time.
But it also really forced things into the world building. Basically, we either had to be near the home city where the campaign started, or there had to satellite places to learn things from whenever we leveled up. On one occasion when I wanted to train as an assassin, the DM basically had to write in an assassin's guild in the town we were in, as the only other option would be telling me to wait to level while the others got to. Ditto with the cleric; by luck or design they worshiped a god that was very popular in the setting, so there were conveniently many churches to visit. Did you ever find it suspicious that stores always seem to stock the weapons that the players prefer, or always have the right size armor, etc? It was basically like that on a much grander scale.
In my current 5e game, I don't think this idea would work at all. Our starting story was that we were all wanderers who basically met at a town that was a small crossroads. We had no home base (until just a couple sessions ago), no central town to call home, and spent a lot of time traveling the countryside. At one point in the campaign we decided to make a trip back to one character's home monastery, and it took months to travel there (both IRL and in game time). And we have very varied backgrounds. If we had to make special trips and side quests for each different characters to level up, we may never have time to do anything else.
I think the best way to use this type of leveling might be to do it only on very rare an meaningful occasions, rather than all the time. Use it at important epochs to give one player a short "day in the limelight" plot that the whole party joins them for. The bard has to get special training for one specific college features; the rogue needs a macguffin to train in blindsense; the cleric needs to perform a special ritual before they can cast 9th level spells. If you try and implement "no automatic learning" I suspect it could become boring and tedious quickly. But used rarely it would be a great way to help flesh out individual character arcs.
Finally, I think training is inherently easier for more independent classes that thrive on internal or universal power sources. Sorcerers that cast based on wild innate ability or druids that only need to commune with nature to study clearly have an advantage. They can learn new skills just about anywhere. Conversely, classes that tend towards social order, like a monk that trains at a monastery or wizards that studies books, will have a harder time leveling up because of the structure that their narrative requires to learn. Some people might like that challenge but others may not like it. The DM would have to do a lot of character vetting or custom world design if the goal is to make the field level.