Fast, es ist
gap ist natürlich auch nicht ganz falsch, dann hat man einen Abstand zwischen rows- und columns

Der grid- prefix fällt weg, da das auch für flexbox angewandt werden kann.
Ich bin auch ein Fan von grid, soll es aber nur um eine Zeile, also eindimensional sein, dann kann man auch theoretisch bei flexbox bleiben.
Die Lösung für dein Problem mit Flexbox habe ich schon gepostet, nur für den fall dass es untergangen ist:
flex-shrink: 0; zu deiner column hinzufügen wo du die breite definiert hast. Dann wird sie nicht kleiner.