This is a long and ugly solution which does work. Instead of messing around with mu4e-action-view-in-browser the unsafelinks function can be inserted into gnus-article-browse-html-parts and redefined like so
(defun gnus-article-browse-html-parts (list &optional header)
"View all \"text/html\" parts from LIST.
Recurse into multiparts. ...
I don’t think you need to edit this function at all. It calls the hook functions stored in gnus-article-decode-hook. You could add unsafelinks to that list with (add-hook 'gnus-article-decode-hook 'unsafelinks).
By default, the key 'W' is bound to mu4e-headers-toggle-include-related. Pressing this will toggle between showing all the related messages in every maildir, and showing only the messages in the current maildir.