Hi @JoshCecil - welcome to the community!
As you implied, there are probably numerous ways to go about this.
Using a Klaviyo Signup Form
The easiest and quickest way to implement this is to take a user to a landing page with an embedded Klaviyo Signup Form where they can select multiple options (checkbox) and submit their preferences.
Using the Preference Page
Alternatively, you can add these products as “preference” options in the Preference Page and send users to the Preference Page which will have a prompt that allows them to select one or more products.
Either of these methods will append multiple values within a list to a single custom property field which you can use in your Segmentation rules to define “Contains” to match again.
Using a Third Party Survey or Quiz Tool
The next level up is to consider using a third party survey or quiz tool that can make the experience richer and provide deeper insights and reporting. You can look in the Klaviyo Integrations Library for some options that work well with Klaviyo, I personally like Octane.ai or Typeform.
Build a Custom Solution
The last option, which requires developer resources, is to have the link sent to a landing page (or redirection tool) on your site that can Update Profile programmatically via Klaviyo’s API. In other words, you’re rebuilding the Update Property Link functionality to incorporate multi-selects that appends preferences rather than replacing them. I think it would be a nice feature request for Klaviyo!
Hope this helps!