Right - this matches my hunch; that folks want to define groups of users (which you can already in Matrix in 'spaces', but the UX in most clients is awful) - and what they really want is group-based permissions (which isn't part of the protocol, and instead gets layered on at the application layer today.
So the problem here isn't that folks want contradictory access levels (e.g. Admins can kick people but can't set topic, but Mods can kick people but can't set topic) but the ability to set them via group?