The only thing I would add is that you don’t always need to build the theme first. If your existing theme gives you the general page layouts you want, you can just go straight to creating blocks and adding your content. Creating themes can be a complicated task, especially for people who have never done it before. Even though Pinegrow takes the coding out of the picture, you still need to understand the concepts of creating a theme.
See this video below for a more thorough explanation…
Maybe one more thing to make your workflow easier.
What i normally do for predefined pages is using a wrapper block which is basically just an empty div. I call that blog “about-us (to stay in your example)”. Assign it the “inner-Block” attribute and there on the template area place all the blocks you want to use in the right order, you could nest that multiple levels with a workaround (define another inner block on the nested block with a template section and so on).
So you kind of still have the flexibility of creating blocks (one of those blocks could still appear in the contact page or any other page) but when it comes to inserting it you only have to add the about us block and your predefined structure will appear.
That makes life a bit easier, i also tend to create a mockup first in HTML/CSS/JS only and then going through that mockup and find similarities and thinking about my block structure.