Vielen Dank, Bernhard!
Now I've put that into my ready.php and it works great. Just one thing occurred that is Umlauts are html-encoded. I.e. when having this URL: https://domain.com/processwire/tools/ourmodule?Param1=Fünf
after the login it is transformed to: https://domain.com/processwire/tools/ourmodule?Param1=Fünf
which essentially looses part of the value because & of course is the URL param separator. I've tracked this down into the ProcessLogin module and it seems that this line should NOT be:
if(!is_int($value)) $value = $this->wire('sanitizer')->entities($value);
but rather:
if(!is_int($value)) $value = rawurlencode($value);
because the URL string is manually built by concatenation. After fixing this in the Core our links now work great.
Thanks again for your help, Bernhard. What do we do about this bug (?) in the Core module?