Is there an option on Discourse to allow a logged-in member to see only the topics where they participated?

Categories have permissions that control which groups can see topics, and whether they can create new topics or reply to topics. In most communities, everyone can read (at least some stuff), but you have to have more permission (i.e., at least log in) to be able to participte. Your situation is backward from that.

The way to do what you ask without a plugin is to use only PMs. Regular users would send a group PM to the @vip group. Then they could see their message and VIPs could see it, but no one else can.

You won’t have categories then, but you can still have tags.