Из-за разной высоты блоков так и ведет себя код, все правильно.
Решение - использовать бутсрап 4, там все ок на флексах работает и не надо никаие пушы и пулы делать, указал порядок блоков и радуешься.
- можно использовать плагин
brm.io/jquery-match-height который будет задавать одинаковую высоту блоков в строке.