Если вы хотите сверстать макет на рисунке именно на флексах - изолируйте каждую смену направления в отдельный контейнер (пусть будет div).
На флексах можно это представить в виде 4 последовательных div, в последнем еще два div для вертикальной ориентации.
вот
пример