Hallo Kira,
vielleicht solltest Du kein Grid nehmen, sondern Multicolumn-Layout. Ein einfaches div (oder einen semantischeren Container) und dort die Anzahl der Spalten mittels columns festlegen. Diese Anzahl kannst Du per Mediaquery variieren.
Die Blöcke darin kannst Du mit break-inside:avoid zusammenhalten. Wenn Du sie auf eine feste Höhe zwingst, dürfte es auch ganz ordentlich aussehen. Den Spaltenabstand legst Du mit column-gap fest.
Dann hast Du eine Balancierung.
Rolf
--
sumpsi - posui - obstruxi
sumpsi - posui - obstruxi