subtype: more conservative intersection of triangular variables (#49591)
When a variable is used triangularly, we need to be careful not to
propagate the lower bound implied by the other side to the upper bound
implied by the invariant usage of the value--that is only legal when we
are intersecting a variable that is used diagonally.
Fix #49578