I thought I was going crazy ;-)
Maybe you can just remove the Polylang filter and set your own (hoping that you won't run in a conflict with pages:
global $polylang;
if ($polylang instanceof PLL_Frontend) {
remove_filter('parse_query', array(&$polylang, 'parse_query'), 6);
add_filter('parse_query', 'reactorshop_parse_query), 6);
}