Take a look into kustomize
In the end I decided that I'd collapse all environments down to behave identically, which is simpler, but does add a few constraints for development in particular.
Will take another browse through while considering options for upcoming infrastructure :)