Great question, especially in 2021 as Wordpress is changing. I began with static HTML/CSS sites, and it took me a while to convert them into dynamic WP sites because, as stated, there really wasn't a comprehensive approach to this outside the very dense official documentation.

What really helped me was this post by a self-taught developer: https://www.taniarascia.com/developing-a-wordpress-theme-from-scratch/

Nowadays I build my sites as HTML/CSS/JS pages and and import them into Pinegrow Theme Converter. PTC displays the page and allows you to tag divs to include WP functions, so I can assign the H1 element as Post Title, some content Div as an ACF field, and so forth. The best part is that it handles enqueuing of stylesheets and scripts automatically, based on the folder structure of your HTML site. I've always disliked editing the raw functions.php file.