When “Provide a directory of groups for browsing” option is disabled, listing of groups is denied, as intended. However, it is possible to list members for any group by typing /groups/group_name URL. A group_name can be discovered through the tooltip when hovering over a group flair on a user’s headshot.
Also, when “Provide a directory of groups for browsing” option is disabled, Groups entry is removed from menus, so group owners have no way of getting to the screen to manage the group unless they enter the group URL directly. If a user is owner of at least one group, the Groups menu entry should never be hidden, but the group list should only show the groups they can manage.
EDIT: I am new to Discourse and the setting I missed was “Group is visible to all users” (in per group settings) and it was enabled. Once I disable “Group is visible to all users” and enable “Provide a directory of groups for browsing”, everything works as desired. Wish there was a user manual for Discourse to look such things up.