Есть модификатор, которые меняет порядок ключей в объединяемых массивах. Почему он не должен работать в примере 1?
Потому что он предназначен для решения другой проблемы. Хочешь чтобы как в примере один результат был - мержишь два раза.
$result = ArrayHelper::merge(ArrayHelper::merge($a, $b), $c);