Вы можете сочетать разные свойства.
Но есть нюансы. Если родитель grid, то дочерние элементы не будут строчными, даже если вы им напишете display: inline. Например, если вы дочерним зададите inline-flex, то они станут просто flex.
С родительским флексом аналогично.
По поводу вкладывания элементов друг в друга в HTML.
Это не зависит от блочности и строчности, так думали во времена HTML4, которые давно закончились.
Есть разные категории контента
MDN категории контента и что во что можно вкладывать определяется спецификацией, 4м разделом. У каждого элемента написано к какой категории контента он относится и какие в него можно вкладывать.