Группировка идёт на уровне запроса mySql с использованием GROUP BY.
При этом сервер mySql отбирает один из подходящих вариантов случайным образом и на это повлиять нельзя.
В категории проще, там если нет фильтрации, то выводится родительский товар. Для акционных товаров такое решение не подходит, т.к. на родителе может акции и не быть.
А если на каждый товар добавить подзапрос с условными выборками, то это добавит кучу лишних подзапросов, что приведёт к лишней нагрузке на БД.
Поэтому из коробки на акционных страницах и нет группировки, а выводятся все акционные товары. Т.к. в большинстве случаев в связках акционных товаров мало, и их желательно видеть в списке акций.