if identifier list and custom tag list are shown together.
This, this this. Having the identifier list in a completely separate window from the custom tag list makes it extra confusing. Custom tags and the identifier list should be together, virtual tags can be separate (although yes, both should have a way to assign the field type paired with them.
What if the tag definition list looked like this?
Display Name (replaces/merges with Identifier) | ID3 | Vorbis | etc | Assign to custom tag (drop down list containing custom tag slots not currently assigned)
I haven't worked out the question of how to do deal with the pre-existing list of things that can be turned into custom tags, but I feel like there is a workable solution.