we've been using something similar at work to let non-devs modify templates without touching the codebase. honestly worked great for like 6 months until someone nested conditionals 8 levels deep and the whole thing became unmaintainable. ended up writing a linter just for the json templates lol