. row и .col - это абстрактные сущности, которые призваны создать сетку, каркас страницы. Они не имеют никакой семантики или смысловой нагрузки, это просто структурные элементы. Внутри них может быть всё, что угодно - и если это логично сверстать на флексах, то это нужно верстать на флексах.
То есть, если внутри условного col-8 нужно сделать ещё три колонки, внутри которых будет какой-то другой контент, то логично использовать внутри еще один .row и .col-4, так как здесь речь идёт о сетке, каркасе. Если же внутри будет какой-то кастомный блок/элемент, типа меню или чего угодно ещё, где нужны все достижения Flexbox - смело можно использовать флексы, никакого говнокода тут не будет и близко.