Totally agree with you, probably it is backwards but unfortunately it is a user requirement and I can’t change it.
I think I have to resort to custom coding, do you know which WooCommerce hook should I use to hook the filter which will be called once per product so that I can get user membership/capabilities and prevent product to be displayed in the catalogue?