A way to preserve the query would be nice :)
During ResourceLoader2 I attempted to redirect Special:Gadgets/ to Special:Gadgets (in case no sub page parameter is provided), but I undid that because depending on the implementation I either got stuck with an infinite redirect of a lot of bogus in the url.
I use OutputPage::redirect, Title:getFullUrl and something with WebRequest::getQueryValues.
The problem was that the 'title' query parameter was someone ending up being added after the one in the current url, and the one in the current url via mod_rewrite/articlepath is internally interpreted as 'title' as well. So the URL looked like title=Special:Gadgets/&title=Special:Gadgets. I tried unsetting ['title'] but somehow got re-added.
A way to redirect to a title with an option to preserve query (and still have it be fixed afterwards to apply article/action paths were relevant) would be really nice :)