I think we both may have missed something.
For Linux we build from source or use a repository to install MAME. Installation from a repository does not always create the full directory structure. When installed from a repository the data files are often not installed at all or are not kept up to date. I wrote a script to handle the download, build and installation as well as update the MAME default data files e.g. artwork, bgfx, ctrlr, hash, keymaps, language, plugins, roms and samples. All good for me because, I think.. hope, I know what I'm doing when I set up MAME.
Not everyone looks in the installed MAME directories to determine where the ROMs, SLs, CHDs and Extras go.
Not everyone wants their ROMs and other files installed under MAME's main/default directory structure e.g. some prefer to use an external HD.
Not everyone knows which files match with which directories because they are not usually labelled the same as MAME requests them and some are kept compressed whereas others are not.
Let's assume I am new to MAME. I download MAME using my distro maintainer's official software repository. So now I have MAME installed into my Linux OS. I load MAME and configure the file locations. I go through 29 or so settings pages to set the locations for the different files as stored on my portable hard drive. Seems easy enough. But, being new to MAME, I don't know the difference between, or even the relationships between, CHDs, SLs, CHD SLs, Extras, Logos, Artworks... After an hour or so of searching the Internet and watching YouTube vids I eventually figure out how to configure MAME. To cover all bases I select several directories multiple times for the different (yet what look like the same to novice me) MAME directories.
Either I have missed something about the directory structure and all files need to go into the ROMs directory where MAME will automatically establish which are logos, which are ROMs, which are icons, which are videos, which are high scores etc.., in which case MAME UI needs to be updated to change the file config menu; or you misunderstood the reason behind my suggestion to use a file flag in each directory so that MAME can be pointed to one directory or drive which MAME can then recursively scan to read the file flag and autoconfigure the directory structure e.g. roms.txt, icons.txt and extras.txt. I imagine MAME should be able to determine the file types from their extensions but, as I say, maybe I've missed something too.