Could you be more specific about the source and target databases exactly? Will you have both source and target in MySQL databases for example? The reason why I’m asking this is, it’s a lot easier to migrate content database if it’s the same DB vendor/version.
It is in detail. In general, however, if you migrate the content database from source to target properly, you won’t lose anything because the content database (in MySQL or PostgreSQL, …) is the single source of the truth and the others are redundant or recoverable data such as lucene index for querying, namespace registration data, etc. Lucene index can be recreated if empty, namespaces can be regenerated from your application modules, and so on.
By default, all the configuration/text/binary data are stored in the content database, and probably your web layouts/styles are stored in webfiles JAR module which is copied to the repository at runtime.
You also can refer to p4 in my presentation [1] about the architecture oveview and see [2] for configuring DBMS settings for your environment.