Как сделать такую резиновую сетку?
Не понимаю как сделать так что ячейка не занимала всю высоту, а только свою
Не туда смотрите. Кроме колонок существуют еще и строки.
Добавьте для первого элемента
.activity__item.grid {
	grid-column: 1/3; /*сокращенный вариант вашего кода*/
	grid-row: 1/3; 
}
Можно сделать их как два больших блока(в одном одна большая картинка, во втором 4 маленьких)