Table creation best practices in Astera DWBuilder

I’m curious about a best practice. Is it a good approach to create tables in the destination manually (outside of Astera DWBuilder) and then connecting to those tables with the Destination tools and populating them?

Yes. This is certainly not a bad practice at all. Sometimes you are familiar with the database tool, and you may want to create all the tables (and relationships, etc.) using the tool itself.
However, you still have to reverse engineer the final database into a data model so it can be configured, deployed, and then be used by Astera DWBuilder for all the dimension and fact loading.