I did a bunch of testing with various combinations of tags and trying to read through the code, here are my findings.
1 - Plex uses 'Contributing Artist' for the Artist listed in the root of the music UI
2 - If 'Album Artist' (TPE2) exists, override 1 for the Artist
3 - If neither exists, check if 'Title' in in the format 'artist - title' and use newly found artist
4 - If no title, use the filename for the title and recheck 3
5 - If 4 doesn't work, check if folder is in the format "artist - album" and use newly found artist
6 - If the above fails, use "[Unknown Artist]"
7 - If within a folder, >90% of files have the same Artist (the final one used), apply this to the files with [Unknown Artist] in that folder (I didn't test this one, but it is in the code)
The above Artist is what will be filled into the Artist field when you edit at the root.
Once the Artist is identified, the files are grouped into albums, which come from either the Album tag or if that doesn't exist check folder for "Artist - Album" otherwise "[Unknown album]".
Within the Album, songs are arranged into tracks. Each track is a file.
The track # comes from either the "track" tag or the filename if it is in "xx - Title" format, otherwise blank.
The track name comes from either the "title" tag or the filename from above, otherwise blank.
The artist shown when you hit edit is from the "Contributing Artist" tag, but only if "Album Artist" exists. No other way I could find to get this field to show. If there isn't a "Contributing Artist" but there is "Album Artist", it uses that instead.
Seams like the coding is using the tags backwords. It should use the "Contributing Artist" as the root level, and "Album Artist" within each album. When I have time to mess around with this I'm going to change the code and reverse this to see if it works out better.
1 last thing I noticed is that nowhere does it scan for the Artist / Album structure. It does checks for "Artist - Album" and works well when there are no tags.