Automatically Change Tag Panel Configurations Based on Data / File

Not completely correct.
You also can have 2 @lyr-fields, if you define a new field in the extended tag-view either with the name LYRICS or the name UNSYNCEDLYRICS or if you use an action or the converter for LYRICS. In Mp3Tag these 2 fields will display as 2 UNSYNCEDLYRICS-fields in the extended tag-view - so called multivalue-fields. So Mp3Tag does write the content - it is not lost with saving. In the tag-panel you see them devided by \\.

As far as I know it is the pair DATE and YEAR.

I can only assume that the reason for this is to prevent incorrect entries or avoid compatibility-issueds with other tag-showing software.
Only @Florian as a developer can probably tell you more details.

MP4 uses its' own defined fields. The majority of the use is based on iTunes implementation. There are several exclusive fields that are used.

mp3 files typically use the id3 standard. The original id3v1 is pretty weak in what field are supported. The expanded id3v2.3 standards are pretty much the most widely used and compatible level. The newer id3v2.4 adds even more field support and structure but there are some players that have yet to add support for this.

FLAC should be using the Vorbis standard. Some tagging software incorrectly saves tags using the id3 structure and this causes all kinds of compatibility issues.

The bottom line is each format tends to uses its' own tagging structure. The benefit of using tag software like mp3tag is that the heavy lifting is done in the background, and each field
Should be stored in the correct container. Unless you reassign things manually to override this behaviour.