Sounds good, more organized, less mixing. A suggestion is, instead of using limited DSL perhaps using .yaml or .json works better, better limitations.
Although my main problem with gradle and agp isn't quite the mix of build logic and definition logic but the documentation of Gradle API and the different plugins.
Unless you are able to find a project in GitHub that does what you want (so you can copy and paste), the official documentation doesn't offer too many complete examples. Code snippets sometimes you don't know where to place them, error messages aren't too descriptive and such.