For immutable records and variants, if you have a set of labels A that is a subset of label set B (or corresponding label–type maps), then a record of A is a supertype of a record of B, while a variant of A is a subtype of a variant of B.
For example: A record type {x:X, y:Y} is a supertype of {x:X, y:Y, z:Z} (all values of the second can stand in as values of the first), while a variant type x:X | y:Y is a subtype of x:X | y:Y | z:Z (all values of the first can stand in as values of the second).
The sibling comments refer to AND and OR (which isn't accurate, as variants are really XOR), or to product and sum types, but that doesn’t demonstrate the actual duality.
A variant is a logical or. A pet is a dog or a cat.
And and or are duals.
Much more in the "Algebraic data types" chapter at https://scalawithcats.com/
Does that answer it?