Create custom blocks for bootstrap

Rather than create new blocks to represent the Bootstrap classes. You should enqueue the bootstrap js and css files in your theme as you say you normally do.

Once bootstrap has been added to the theme, you can simply assign the bootstrap css classes to the already existing Gutenberg blocks. As demonstrated in the following article
https://www.boldgrid.com/support/wordpress-tutorials/how-to-add-additional-css-classes-to-a-block-using-the-gutenberg-editor/

WordPress v5.3 introduced the new “Group Block” which works great for Bootstrap style page layouts.
https://wordpress.org/support/wordpress-version/version-5-3/#expanded-design-flexibility

Create a group block and give it a bootstrap class such as (container, container-fluid, row), you can nest these no problem. Then give the blocks inside the group, css classes like (col-sm-4, etc.).

Once you set up your basic layout you could always save it to a reuseable block
https://www.wpbeginner.com/beginners-guide/how-to-create-a-reusable-block-in-wordpress/

Hope this helps!