In the documentation, there is a description:
Once registered in a TableEnvironment, all tables defined in a ExternalCatalog can be accessed from Table API or SQL queries by specifying their full path, such as catalog.database.table.
Currently, this is true only for source tables. For sink table (specified in the Table API or SQL), the users have to explicitly register it even though it is defined in a registered ExternalCatalog, otherwise "No table was registered under the name XXX" TableException would be thrown.
It would be better keep consistent between source table and sink table, and the users would enjoy more convenient approach to inserting into sink tables.