I agree, however I believe Your second statement (mapping users to roles) is neglecting that users can be members of a role not through direct membership (reflected in table DWUserToRole) but through being a member of a group which in turn is a member of the role "DesiredRoleName".
However, in 7.3 on-premise systems You can leverage the new possibility to create filtered select lists.
I create a view on the database that maps users and the roles they are members in. For this,I use a UNION statement to basically combine Your statement with a similar statement that joins users to roles via group memberships.
Then I create filtered select lists using the view as a data source where I filter for the desired role name to get a select list of all users that have a membership in that role.