Just in case someone would benefit from this.
I ended up with 2 forms with different prefixes: 1) for the MainModel, 2) dynamically created for the selected content_type. The fields of form 2) are dynamically added to the site (on content_type selection) via ajax/jquery load function. The processing of the data & proper save are handled in the view.