As for friction: I think it's not only fine but good that HMs take up moveslots, because it introduces opportunity cost. I need to use this move to progress - do I give it to a team member in place of a stronger 4th move, or do I hand it off to a weaker 'mon I've caught and have them take up a team slot? Friction isn't necessarily a bad thing - I think these kinds of restrictions can be interesting and lead to some neat player expression if handled properly. There is no such decision making to be had with Ride 'mons. The best form of it are the Raidons in SV, just because they're seamlessly implemented into the flow of the game and because the Raidons are distinctly your 'mon, but I just don't think it's as interesting.
I think this is a really good point too. While qol additions are usually good, there is something to be said about making the player be a bit uncomfortable/suboptimal in their gameplay. I always bring up monster hunter stories for this, but I actually enjoyed the question of "if i bring my best monsties around, i wont have monsties with skills like jump/break rocks/climb to explore some areas, but the monsties that have those skills are not my best and very underleveled, what should i prioritize right now?". Its why i wish theyd add a similar system to the games lol.
I think one of the reasons they removed hms is that i think retooling them is a lot harder than you'd think for modern pokemon. for example, you can just remember any move a pokemon has learned in sv. if hms were forgettable, then all youd have to do is use the hm and then replace it with the move you had before, which pretty much removes any friction that hms had and just turns them into a 30 seconds annoyance. making them stronger helps, but also can end up with the side effect of giving people even stronger tools early game, in games that already have five million ways to make your experience easier. i do think they truly needed to be replaced, but with a system that kept its goal to make the player engage with the pokemon and field instead of ignore it completely