Typically I like to keep users in Sitecore unless there is a third party membership provider, active directory, OAuth, or SSO solution. If you do not need to use an external membership provider, then use Sitecore.

Also, with external users, you have to make the decision of using a virtual user to authenticate the user or create a Custom Membership Provider, which may not be worth it.

Since you know there will be 500K users when the system rolls out with multiple domains, I would recommend using Sitecore.