prompting very small tasks after you have made the initial design, something along the lines of "Create a database migration that adds column [x], not null", "add a field to the this form that will accept string value, validate it on the backend against this format, and save it to column [x]". So basically, writing code in plain English.
Are you presenting this as the option that allows you to have better understanding (smaller tasks, closer to the changes), or the option with which you don't have understanding (because you're still getting assistance, not solving every problem on your own and not typing the code out yourself)? I genuinely can't tell from your post, people can and do take both of these positions.
I will lose the ability to think about code and understand code
If you lose it (whatever "it" is), it's because you don't use it. If you don't use it but you're still getting your job done, is that really a loss?