Это потому, что значение по умолчанию для align-items
(выравнивание вспомогательной оси: Y, если направление - строка, или X, когда направление - столбец) - stretch
, поэтому при использовании flex-direction: column
изображение растягивается по X оси, но когда вы изменяете ее на flex-direction: row
, она растягивается по оси Y (вертикальная подгонка, но не горизонтальная).
Вы должны определить width: 100%
для изображения.