I'm wondering if, reusing existing value of xredirect, if already defined would be a valid solution to this issue? A patch (here only for "log-in" link, same solution might need to be replicated at least for "register") might look like:
## If xredirect is not already set
#if (!$request.xredirect)
## Define xredirect value using current document relative request URL
<a href="$xwiki.getURL('XWiki.XWikiLogin', 'login', "xredirect=$escapetool.url($xwiki.relativeRequestURL)&loginLink=1")" id="tmLogin" rel="nofollow">$services.icon.renderHTML('log-in') $escapetool.xml($services.localization.render('login'))</a>
## If xredirect is already set
#else
## Reuse the current value in the login link
<a href="$xwiki.getURL('XWiki.XWikiLogin', 'login', "xredirect=$escapetool.url($request.xredirect)&loginLink=1")" id="tmLogin" rel="nofollow">$services.icon.renderHTML('log-in') $escapetool.xml($services.localization.render('login'))</a>
#end
This message was sent by Atlassian Jira (v9.3.0#930000-sha1:287aeb6)
If image attachments aren't displayed, see this article.