It looks like the problem is that when the redirect is issued to where the subrepo lives in the filesystem, the query string is dropped. That causes the html page for the subrepo to be fetched, instead of going through the wire protocol plumbing. Up to this point, Mercurial treated this as a server that didn't understand the "new" protocol, and fell back to 0.9.0 commands. That fallback was removed this cycle, exposing the issue.
I assume that #fragments are an issue too, but I'm not sure if they are used outside of html links.