I don't have an exact solution, but from a MODS/XPath sense, if a <subject> element's first child is a <name> element, then when this subject node is parsed through biblio.extract_metabib_fields, we want the <namePart> children within <name> to be extracted and concatenated as part of the full heading string as usual, but for the "raw_text := raw_text || joiner" portion, there needs to be a test or trigger somewhere in the code such that either the concatenation ignores joiners between <namePart> elements, or that the concatenation only triggers on following-siblings of <name> and not children. Whether that can all be done through edits to biblio.extract_metabib_fields, or if it'd be better to create an entire new function for this bit of unique parsing.
Relatedly, there need to be changes to prevent relator terms in the $e field (which are held in <role><roleTerm> nodes in MODS) from being extracted to browse lists as well (though this has been addressed to some extent in https://bugs.launchpad.net/evergreen/+bug/1772981).
I don't have an exact solution, but from a MODS/XPath sense, if a <subject> element's first child is a <name> element, then when this subject node is parsed through biblio. extract_ metabib_ fields, we want the <namePart> children within <name> to be extracted and concatenated as part of the full heading string as usual, but for the "raw_text := raw_text || joiner" portion, there needs to be a test or trigger somewhere in the code such that either the concatenation ignores joiners between <namePart> elements, or that the concatenation only triggers on following-siblings of <name> and not children. Whether that can all be done through edits to biblio. extract_ metabib_ fields, or if it'd be better to create an entire new function for this bit of unique parsing.
Relatedly, there need to be changes to prevent relator terms in the $e field (which are held in <role><roleTerm> nodes in MODS) from being extracted to browse lists as well (though this has been addressed to some extent in https:/ /bugs.launchpad .net/evergreen/ +bug/1772981).