Dhall is written in Haskell, CUE in Go. I write Go extensively and can make use of CUE's Go API, something I couldn't do with Dhall. Since then, it seems like Dhall's development has fallen off a cliff. The CUE creator has built a team and they have raised funds. There is a sizable team behind CUE now. Lot's of exciting things to come.
There's a CUE community call next Tuesday, if you want to watch live: https://github.com/cue-lang/cue/discussions/2219 and the old ones are here: https://www.youtube.com/@cuelang
CUE can detect backwards compatibility of config, I use this for your exact use case. https://docs.hofstadter.io/first-example/data-layer/checkpoi... (sorry, I need to work on the docs more) The goal is to be able to generate SQL to create and migrate database tables automatically.