We actually used to do something similar, but were able to remove tons of code and move that to the user layer so they can control, because each language has its own patterns and snowflakes. Basically lift the DSLs, transforms, and templates out of the implementation. CUE also provides some really powerful building blocks for schemas, aggregations, and defaults, while also reducing how much we have to write as humans.
If you already have a different source of truth (like protobufs), then other methods will make more sense. We think CUE is a great language for the source of truth as it has integrations with all the common config formats as well as tech like protobufs and OpenAPI schemas. It's also much nicer to express large amounts of declarative code in.
Anyway, thanks for sharing as well! I found your perspective quite interesting too. I have some desire to see something like JSX for our CUE+templates, but that is still quite unclear and a long-term vision