it’s good that obj props > material shows the material editor for the current selection, but it is a pain when you mainly use layer assignment:

there’s the material, but now you have to pop up a floating editor, and I hate those; but at least you weren’t using by parent assignment:

it’s right there, but it’s not a link, so you can’t even pop up the floating editor
these make perfect sense, to the extent obj props > material is about assignment, and not material editing
but even if the editor was shown inside the page in both these cases, I would still prefer the model where, similar to mentioned by the OP, materials get selected in the materials panel editor, when objects that use them are selected in the model – even the first material list/editor I ever wrote did this, and it did not even occur to me for it not to, it was literally encoded in the object model before I wrote the first line of gui code
so maybe that’s just how my mind works, or maybe it’s just a natural workflow when you are focused on nothing but rendering, but whatever the case, the fact is that, in practice, and without ever consciously deciding, I only ever use obj props > material to set layer/parent assignment
there would be debate on handling multi selection, or interactively hiding unselected materials from the list (cool idea by the OP, since we so often work with groups/blocks), but the yellow highlights/dots prove the information is already flowing where it needs to be, to implement this