Do you now have a separate library that correctly points to the new "extended" files (or file if you have only one) and still shows the old library field values from your old "regular" files?
If yes, then the steps 1), 2) and 3) worked as I intended.
You could now simply use the "Update Tags (from library)" tool to apply the database field values to the physical file tags, but at least the Name tag would be wrong, perhaps also some other tags like Artist or Album. (For example, you may have the name of the mix artist included in one of the file tags.)
Alternatively you could do "Update Library (from tags)". It would update the Names and other library data and then you could save the tags once to tag everything. However, you can't do this if the files contain possibly wrong tag values in the fields that you are going to tag from your old database values.
Perhaps the best approach would be to selectively disable file tag writing for those tags that are correct in the "extended" files. You can do this in Options > Library & Folders > Manage Library Fields... Select the field to edit (for example the "Name" field) and uncheck the "Store in file tags (when possible)" option. Do the same for all fields that you want to preserve in the file tags. You should also check that the fields that need to be stored in file tags are set to do so. After setting the field specific options you can rewrite the file tags by running the "Update Tags (from library)" tool.
When you load your regular library you can either import the new files, or if they are already imported, do "Update Library (from tags)". Alternatively Auto-Import can do the latter if it is set to "Update for external changes".