With his last episode airing, I'll slap out an Ash Ketchum hot take: I don't mind that he lost the League so many times. Yes, he's experienced, but winning the League every time would've been boring, and it made Alola/Journeys that much sweeter.
The excuses got worse as time went on, though. Losing to Ritchie? Another hot take but I'm good with it; Ash not being able to win over Charizard was a clear weakness of his and for it to bite him in the ass at the League made sense (though the sleep thing itself was dumb.) The focus of the Silver Conference was the battle with Gary; after that, having him to lose to someone with two unfamiliar Pokémon makes sense. Tyson in the Ever Grande Conference has a damn strong team and was the winner; there's no shame in losing to the guy who goes on to win. Alain is the real controversial one, and he certainly could've had a better team (cough UNFEAZANT cough) `but in hindsight, it's fine.
I got nothin for Tobias or Cameron. They both suck.
Yeah Tobias and Cameron are easily the most egregious cases of Ash losing because in different ways it was very obvious both were half-assed plot contrivances who explicitly served to eliminate Ash from the League after he defeated his main rivals, especially the former. In Sinnoh he had an amazing rivalry with Paul and Ash vs Paul in the League was a fantastic climax for Ash's Sinnoh journey, with the two rivals and their clash of beliefs finally coming to a head with Infernape vs Electivire being the big finale, both being long time rivals, and Infernape being the Pokemon Paul gave up on, but Ash gave a chance and trained, and this being the opportunity to prove Ash's beliefs and training methods to be ultimately superior, after Ash took the risk and unlocked Infernape's super-powerful Blaze, it paid off in the end with Infernape beating Electivire and Ash coming out on top.
It was pretty clear that Tobias was a bullshit, half-assed plot device who was created explicitly to eliminate Ash and maintain the status quo after Ash finally surpassed Paul. Dude shows up out of nowhere, uses legendary Pokemon that have no explanation as to why he even has them, and stomps everyone with his Darkrai. At least they made Ash look good in comparison to everyone else by having him KO both Darkrai and a Latios, ie defeating two legendaries consecutively, when everyone else got 6-0'd by Darkrai, but it was still a massive asspull and it was clear that they wanted Ash to beat Paul in an amazing climactic battle but were obligated to keep the status quo so they needed an emergency plot device by creating power creep.
Cameron is on the opposite end where he's just so insanely stupid that his winning against Ash just made the latter look embarrassing by losing to him of all people. Cameron was an extremely stupid and incompetent kid who often made stupid decisions, didn't know how to count or have a good sense of time, and used five Pokemon all the while despite his stupidity he was clad in extreme amounts of plot armor by having a Hydreigon and then his Riolu evolved into a Lucario during the battle and then cleaned up Ash's remaining team. It's even more embarrassing when Cameron proceeded to lose to Virgil afterwards and only KOed three of his mons.
Worse is that Cameron feels like a bad imitation of Ritchie, except he's "Ash but even more stupid". The Unova League ultimately felt like a poorly done mirror of the Indigo League, trying to pull the same story beats and the "failure is okay" mantra from that story arc without realizing what made Indigo work.
I'll throw in my two cents on the Kalos League and Alain though. As upsetting as that loss was (I would've loved to see Ash win but alas), Alain actually worked because he was a proper character who was the protagonist of his own story and while he was specifically the main rival of Ash during XY and XYZ, they gave him all the most impressive accomplishments in his own side series (the Mega Evolution specials) and structured XYZ's story in such a way that they could securely do whatever they wanted with the outcome of the battle from a storytelling point of view. The battle itself was great, and Ash and Alain were pretty much neck-and-neck being able to go down to the wire with each other. Ash-Greninja vs Mega Charizard X was a great showdown, despite the outcome, and Charizard only won because it had more endurance which is very believable when you see how it was trained during the Mega Evolution specials and whatnot.
But really it worked narratively because despite everything, the League itself wasn't the climax of XYZ's story, and it was still the rising action that was building up to the Team Flare crisis, which was the real climax of the story of XYZ, and what Ash, Alain, and Greninja's character arcs during that season were ultimately leading up to. Alain won in the League because he was trying to gather Mega Evolution energy and win and have his Charizard become the strongest Mega Evolved mon so he could be strong enough to protect the people he cared about (ie Mairin), and eventually became so focused on that that he lost sight of everything else. He won in the League claiming victory because of his determination to be the strongest for that reason, and him basically winning as someone who would have Lysandre's favor in his "new world", albeit Alain didn't know it.
Ash and Alain's rivalry and dynamic during XYZ was more narrative, and it all came to a head *after* the League battle with the Flare crisis. Because the two were on even ground with each other, they both benefitted from their battle in different ways tying into their character arcs at the time. Ash taught Alain how to have fun battling again, giving him an actually enjoyable battle, especially at the end with Ash-Greninja vs Mega Charizard X, with Greninja being the strongest opponent Charizard had faced and really pushing it to its limit, while Charizard being the powerhouse it was gave Ash and Greninja that push to mastering their Bond Phenomenon power and unleashing more and more of their true potential in doing so, ultimately coming through in the end with the giant orange Water Shuriken (which while didn't KO Charizard, left it limping and stumbling afterwards). And then it came to with Lysandre showing Alain his reward for winning: unleashing Zygarde and preparing to destroy the world to rebuild it anew.
Alain realizing he had been manipulated and used for a man's evil plans to destroy the world broke him, but then Ash's undying faith in the Alain he knew eventually brought him out of his guilt that he felt and brought him back to the light, ie actually using his strength to be the kind of person who can protect others, ie helping to take Lysandre down. Greninja and Ash together showed their stuff by using their bond to stop the Zygarde abomination and save Mairin's Chespie, and whatnot, and Ash, Alain, and Greninja worked with everyone else in Kalos to take down the big bad (and convince Zygarde to save the day). So ultimately the Kalos League narratively worked because it was building up to the Flare arc (which imo is my favorite villain arc in the anime and had genuinely great payoff for everyone). It ultimately went for the "Ash prevails over Alain on a moral level" angle, to a point where Alain privately considered Ash the one person he could not truly best.
Which is to say, that was the one time after Hoenn that they managed to make Ash losing actually work narratively in a way that still ultimately led to a satisfying conclusion for Alain and Ash's character arcs during that season, because they had a different climactic finale they were building up to (the Team Flare arc, which Greninja's story was also leading into), as opposed to just creating a last-minute plot contrivance to keep Ash from winning the entire thing (Tobias) or doing a poorly executed copycat of the Indigo League's "failure is okay" mantra (Cameron).
Hoenn itself was okay because the Hoenn League was whatever (Ash didn't have any major rivals in Hoenn and was just meandering through that region for the most part), and they made up for it afterwards with a long running Battle Frontier story arc, which Ash went through and ultimately won the whole thing by beating Brandon at the end and becoming a Battle Frontier Champion. So he got out of the Gen 3 anime with a notable accomplishment that felt satisfying.
That said, Ash winning afterwards in Alola and Journeys was admittedly satisfying, but they definitely ran out of excuses for those cases, since they mirror SM and SwSh which make a much bigger deal out of the player becoming a Champion, and Ash winning in those generations mirrored that. Especially in Journeys, because Leon is not only a character with his own story and arc, but his character arc also practically
demanded nothing short of Ash's victory. Any other outcome would have been Leon's character assassination and render the entirety of Journeys' narrative pointless.