The set of properties of objects and the sets of objects themselves have a complementary relationship when it comes to union / intersection and subset / superset.
Let's define a "property" as being a predicate that is true for all elements of a set. For example, a collection of red objects has the "red" property.
A subset of a set of objects can only have the same or more properties than the set you started with. If you take a bunch of marbles of varying colors, selecting a subset of those marbles can yield a set with a new property (such as them all being red), but they are guaranteed to have the "marble" property.
A superset of objects can only have the same or fewer properties than the set you started with. Adding marbles to an existing set of marbles can only make "they are all red" become false (if it was true to begin with).
Union and intersection have the same duality; the union of two sets has the intersection of its properties, and the intersection of two sets has the union of its properties.
These results come from logic, not TypeScript.