I think that a login "return" passed by GET should have priority on the menu param

(IMHO) as this enables third party extensions and site managers to develop better login integrations (they currently tend to redo custom login forms (e.g. forums, ecommerces etc. that ask a login to continue to a page) that is bad in my opinion as they should leverage on the existing login page)

Also i'm not sure if the $this->form->getValue('return') can be removed (i think it's old legacy inheritance, but you should check)