Как правильно реализовать такое распределение дивов?
flex-wrap: wrap; не пробовал?демка
Или я неправильно поняла суть твоей задачи
Используй display: grid; прочитай про его свойства по типу grid-template-columns, grid-template-rows, grid-template-area и т.д. Узнаешь все, что тебя интересует.