There’s nothing wrong with the way you’re proposing. You’d want to set up a separate build process for your child theme style overrides and you might end up loading more styles than are strictly necessary.
To resolve that problem for one of my projects I created sub-themes, selected in Customizer and had Sage build whole separate “main” stylesheets per sub-theme. It increases the build time significantly (I’m building 5 “main” stylesheets rather than 1) but it means each site only gets the styles they actually need.
For example I can set Bootstrap’s $theme-colors
per sub-theme and I don’t have to override anything.
Functionality is a little harder, so for site-specific functions I’ll usually make an mu-plugin and include it in that site’s Bedrock composer.json
only.
Does that help?