align-items
для выравнивания потомков, соответственно, по умолчанию применяется значение stretch
, т.е. все элементы в родительском блоке растягиваются по высоте. Отсюда высота всех div`ов одинаковая. Задайте то выравнивание, какое вам нужно (flex-start/center/baseline/flex-end), и блоки примут исходную высоту