Wenn die erste Zelle im Grid leer ist, ist im DOM (also das, was der Browser aus deinem HTML macht) möglicherweise ein unerwartetes Element, das dieser Zelle zugeordnet wird, aber keinen Textinhalt hat. Man kann mit grid-rows, grid-columns oder grid-area festlegen, in welche Grid-Zelle ein Element gesetzt wird. Die Kindelemente des Grid-Containers (also das Element, dem Du display:grid gegeben hast), für die das nicht geschieht, werden der Reihe nach in die freien Zellen gesetzt. Das kannst Du sinnvollerweise mit den Entwicklerwerkzeugen des Browsers herausfinden. Leere Elemente können auch entstehen, wenn man Elemente falsch schachtelt. Beispiel: ein <div> in einem <p>. Das ist nicht erlaubt, und wenn der Browser das antrifft, beendet er erstmal das <p>. Die Entwicklerwerkzeuge zeigen das. Und schon stimmt das DOM nicht mehr mit dem überein, was Du für das DOM hältst.