How to unify search options when "Size" and "Color" can be used as Options or Meatfields?

On products with multiple sizes or colors, I’m using “Size” or “Color” as Option Name, to generate variants.

On products that come in a single size or color, I defined “Size” and “Color” as Metafields, so I can describe the product and it can be searched by those attributes.

When mixing those 2 kinds of products in the same collection or page, the search form shows those filters twice, which is cumbersome.

How can I have a single “Color” filter, that could match products with a Color variant, and products with a single Color definition stored as a metafield?

Unfortunately, that is not possible since the 2 are different data types.