Welcome to the community @thedangler!
You are correct regarding n8n.embed. But not because it is a different version (the code is still 100% the code you see on GitHub), rather because of our special license. That license allows people only to use the code for internal use cases.
Regarding your other question. As soon as you signed a special agreement with us, both is possible. You can either use n8n only in the background and abstract the frontend away somehow (like for example just have a switch somewhere in your frontend to activate an integration, then you would also have to add the authentication part separately) or you can give them access to the UI so that they can build their own workflows. There is no right or wrong, the best choice depends on your specific use case and your target users.
What is however important to mention is, that if you want to give your users access to the UI, you would have to start an own n8n instance for each of them. The reason is that we do not have user management yet and else every use could see credentials, executions, and workflows of all other users.
Hope that is helpful!