I believe you are correct in that if you were to remove the mentioned attributes off Invoice, add the same ones to Bill, and make Invoice inherit from Bill, you will not automatically see these attributes moved to the equivalent Bill attributes. (I don't think there's enough data here for the system to determine without doubt that these attributes are one and the same, though people from RnD probably know more about that)
There's no specific options inside the Business Modeler for migration, however this sounds like an issue which should be solvable using a microflow. If you were to first add the inheritance from Bill (and those three attributes which are moved from Invoice) to the project, it should be fairly easy to create a microflow that loops over all the Invoices and write the data to the corresponding attributes which are now on Bill. After that you could just remove those attributes from Invoice, as the data has been moved to the portion of the entity stores in the Bill table.
(Essentially I think a microflow retrieving all Invoice objects, and then looping over the Invoice objects with a Change Object action which copies the data from the three attributes on Invoice to those on Bill should do the trick)
We do not provide an API for migration purposes, so yes it's adviseable to migrate manually using SQL scripts. We don't create new schema's but we do create new tables. The records in Invoice will be moved to the new 'Bill' parent entity, but the attributes that are moved to 'Bill' will have to moved manually and these will be indicated with deleted_attributename in the Invoice table. I probably don't have to tell you this but it's a good idea to backup your data thoroughly beforehand.