Is it feasible to migrate by only migrating content?
TL;DR: use Migrate and associated modules to do the heavy lifting, adding in your own code as needed.
Yes, you absolutely can build your configuration first and then migrate content. I'd suggest the following outline approach (you'll still need to read the documentation for Migrate and these modules carefully):

Install the Migrate Tools and Migrate Upgrade modules.
Use migrate upgrade to generate prototype migration configuration, eg. drush migrate-upgrade --legacy-db-url=mysql://user:pass@12.34.56.78/d6db --legacy-root=http://myd6site.com --configure-only
Export the configuration and weed out any migrations that you don't need, such as content type and field definitions. Remove references to these from other migrations.
Edit the remaining configurations to your needs. This can be laborious and for some cases it may be easier to use custom hooks to manipulate data rather than configuring process plugins. However, the process plugins provided by core, supplemented by those from Migrate Plus, are very powerful once you understand them.

These modules will do much of the hard work for you so you can concentrate on the tougher problems you may face, such as dealing with embedded media tags that may require modules that are not ported to D8.
(If you are thinking of moving field collections to paragraphs, the D8 Paragraphs module has everything you need already in place).