по другому сделал в api/Products.php добавил в запрос сразу задание сортировки через доп. запрос:
case 'position':
$order = '(SELECT IF(pv.stock>0,1,0) FROM __variants pv WHERE p.id = pv.product_id LIMIT 1) DESC, p.position ASC';
//$order = 'p.position ASC';
break;
админку это не портит