Nope, what you have done is disabled detection of xfce4.

As a result, xdg-open uses its own open_generic() fallback (which parses desktop files) instead of open_xfce() which calls in turn on exo-open (part of xfce, and the true cause of the problem).
It's not so much that xdg-open is broken, it's just designed to work with a bunch of broken desktop-specific openers -- half of which are broken,
and xdg-open does nothing to fix the problem.
Some desktops work fine with xdg-open, if their branded opener plays nice with encoded file urls.
But hey, that's "fixing" it too -- there must be some reason why drop-in replacements for xdg-open are so popular.

Some people seem to think the founding principle of xdg-open is entirely flawed.