Флекс тут не поможет.
1. Самый простой вариант это CSS columns
2. Можно использовать любой готовый скрипт из семейства masonry. Легко гуглится.
3. Либо считать высоту на JS и тогда можно и флекс.
4. Вариант из очень будущего (всё таки вопросы тут живут долго, на всякий напишу): раскладка masonry в grid.