The solution ended up being an "error" or rather then error, strange behavior from JRoute. It changes & to &
automatically, witch being system parameters was causing it to try to route to the default view rather then the one I needed. The solution was to only use JRoute to get the menu itemid JRoute::_('index.php?Itemid=%%%')
. This way it would get the proper path and you can add any extra parameters after.
The reason this was hard to diagnose is blind trust in JRoute as I never ran into this anywhere else. So because of that I never considered that such a straight forward route would not even go to the right view.
So to anyone else who has this problem or something similar, the trick is that since it is being generated for an email, pull that portion of the code out and print it in a view to see how its generating the link.