So it looks like Ash's last battle in Ultra class will probably be against Raihan who will be defending his position in the master class.
Once Ash displaces him in the masters 8, he'll battle Lance, Cynthia and Leon in the masters 8 tournament.
It's convenient to just let pokemon stay with the trainer since Goh is catching so many now.
And whether or not the pokemon wishes to stay with the trainer after getting caught is a different thing because most Pokemon just obey their trainer automatically once they're caught.
But the show is...
I love Goh but makes no sense why he wouldn't want to catch Volcarona or why he would want to release Suicune/Absol or why A Ninetales has to be released into the wild and not be kept with Goh. The writers don't seem clear on what the morality of catching pokemon is and are very inconsistent...
Would have preferred for Ash to catch Dragapult, Toxtricity and Grimmsnarl instead of Dragonite, Gengar and Sirfetchd in Journeys. Would have been nice to see Ash commanding them but this had to be the first series where Ash doesn't have the new gen only team.
My choice for Ash vs Leon
Gengar vs Dragapult
Sirfetchd vs Aegislash
Mimey vs Mr Rime
Dracovish vs Rhyperior
Lucario vs Seismitoad
Pikachu vs Charizard - Gmax
Dragonite could battle Cynthia's Garchomp.
My choice for Ash vs Raihan:
Sandaconda vs Kingler
Flygon vs Gible
Gigalith vs Dracovish...