Fairly recently, {bslib} gained layout_columns(), which is now our recommended starting point for column-wise layout.
https://rstudio.github.io/bslib/reference/index.html#multiple-columns
It also supersedes the the row()/column() interface (it supports filling layouts, wrapping onto new rows, etc), so when this gets added we should also drop row()/column() from express.