I am running a homebrew D&D 5e campaign. I quickly realized, based on how the players ran their PCs, their ability to strategize in battle fairly well, and simply the combination of classes we have and how they use certain spells, that they needed to have more hard type encounters than easy or medium ones. They walked too easily through those.
But this also posed another problem. They would advance much too quickly because of the XP. At first, I was going to go with Mile Stone Leveling but then really didn't like that as the only way to level. So, I went with straight XP based on monsters killed and reaching certain predefined milestones. I have a spreadsheet of all the monsters to be encountered and so the XP to be awarded for them is completed. Then it also has the XP for each milestone I have set but they don't know about.
But again, this posed another problem...going up levels in the middle of a campaign or adventure and all without training. They just all of a sudden have enough XP to go from 2nd to 3rd and automatically know all the new spells or how to accomplish their new fighting style or feat and so-forth right in the middle of exploring a dungeon. It didn't make sense to me. So, I decided to add in training to be required to advance a level.
They still get the benefit of Hit Dice and HP for their new level and the additional spell slots. But they don't get the new skills, feats, or spells until they have spent the time and money for training. However, if they choose to continue on the adventure, then they can continue to earn XP. If they decide to stop, take some downtime and train, unless an adventure turns up during that time where they are at, they stop earning XP and earn their new skills and spells by finding and being taught by someone that is at least 2 or more levels higher than the level they are moving to. It means I have to create NPCs teachers for each of them but I am okay with that. But also, I will probably have the teachers/trainers send the PCs out on a small quest during the training to use their new found skills, feats, and spells to prove they are ready for the new level. That also allows them to earn XP as well. For Example: A fighter may have to fight in a pit against someone stronger than him. Winning or losing doesn't matter. It will be how well he performed using his new found skills. A wizard or warlock may have to duel it out with one at a higher level than they. Again, not about winning or losing as much as how they use the new spells or skills. A Cleric may have to go on a quest of some sort for their diety. A Bard may have to wow a crowd of hundreds with her tales at a karaoke contest...LOL!
I found a system of training I like. This also keeps them from moving up too fast and makes the new spells and skills/abilities more rewarding because they have to earn them (through time and money) and yet, gives them the choice to continue to earn XP if they desire while still gaining some benefits (higher HP and increased spell slots). I also am flexible and would consider that if their experience on the adventures would naturally help them become better at a skill/ability or teach them something new, then I am open to allowing that to also be auto-added for that new level when the XP has been earned. But they have to make a reasonable case for it.
So your DM may want to research a few ways to add training into the mix that could slow the advancement up a little bit as well and potentially provide some role-playing opportunities and make the PCs spend money if need be.
Hope the helps.