Olá, Alef! Espero que esteja tudo bem com você. 
A propriedade order do Flexbox e a propriedade flex-direction são independentes, mas podem trabalhar juntas para criar layouts flexíveis e responsivos. 
A propriedade order permite que você controle a ordem dos elementos flexíveis independentemente de como eles aparecem no HTML. O valor padrão é 0, e você pode usar números positivos ou negativos.
Já a propriedade flex-direction define a direção principal em que os itens flexíveis são colocados no container. O valor padrão é row, mas pode ser alterado para column para que os itens sejam dispostos verticalmente.
No seu caso, parece que a mudança para flex-direction: column permitiu que os itens fossem dispostos na ordem desejada. Isso pode acontecer porque, quando você muda a direção para column, a ordem dos itens passa a ser de cima para baixo, e não da esquerda para a direita como é em row. 
Por isso, se você tinha um item com order: 1 e outro com order: 2, no layout em row eles seriam dispostos lado a lado, mas no layout em column o item com order: 1 ficaria em cima e o item com order: 2 embaixo.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.