You can configure the list in SharePoint to allow user selection of the content type before filling out.
Once the user launches InfoPath, the content type is set and you can't easily change it on submit.
For form libraries, the content type is stored as a tag at the top of the XML file. There are techniques for changing this but they require code or 3rd party tools.
List forms must work the same way otherwise InfoPath would not know which form to use to open the row.