An external database is one that is not on the same host as Cloudera Manager. We check additional parameters in our code to verify that the database is in fact non-local or not the embeded ones we install through deployment Path A. I included the conditions we presently look for in that response to you previously. Database migrations are complex, if you want to avoid this problem altogether you should follow deployment Path B especially for production environments where you will need to setup the RDBMS on your own externally.
Selecting external database and pointing at the same local database istances will not make your database an external one. The scm_prepare scripts you are pointing at take a variety of options. External databases will generally not use localhost because they are RDBM systems located on another host.
Generally speaking placing your database structures on application servers can be bad outside of POC conditions. If you are a licensed customer and need help please open a case with us.