(I know, I know, the route is an add-on route but route filter should work with all kind of routes right?)
I have track down the issues and problem lies in XenForo_Link::translateRouteFilterToRegex. This method does not perform urldecode for the target route ($to variable). I added this simple line before the return statement and everything works as expected.
$to = urldecode($to);