The challenge we are seeing here is that we are not generating the code on the fly (both way sync like you mentioned in Delphi) as we are also hosting the application on the SaaS cloud along with several other users apps and a lot of code will be clubbed/shared between the several layers.
Users will be able to add the frontend/GUI code but we don't allow them to execute the backend code in our environment (only the code written by our backend team will be executed in our environment, like other NoCode platforms)
Once they ask for an code export, then we will generate a code on the basic of their project, do some configurations changes so that it can run as a standalone app and then pass on that generated code to the client/user so that they can host it themselves or modify it to meet their specific/complex use case which might not be possible on our NoCode platform. Once they have exported the code, they cannot import it back. Its one way export only.
It could allow a whole lot more flexibility.
But yes, if they want to write their code, they can always use AWS Lambda or similar services to execute their code and make an API call to pull/push the data from there and use them in the app by connecting it to that code via APIs.
I'm old, so allow me to bring into the present an old no-code tool from the past. (It's priced itself into irrelevance in the present)
Delphi was one of the best no-code platforms I ever encountered. It allowed you to do a lot of no code-things, like set up a GUI, etc... but also allowed you to write code that interacted with that GUI, handles events etc.
The key thing is that the objects in the GUI all have properties that can be set in the GUI builder, AND interacted with in code. Changing one doesn't usually break the other.
Change a listbox to a combobox, you can still access the data in it, for example.
You can rename GUI elements, and rename them, and the code gets renamed to match. Two way flow between Code/NoCode is amazingly powerful.
There's a slightly buggy version of Delphi that lives to this day, called Lazarus.
If your tool can support complexity in the code, while letting the user keep changing the GUI, business rules, whatever in the no-code. You'll have given them far more power than almost anything else out there.