This is an effect of the automatic join (vector matching) that Prometheus does around binary operators. By default, a binary operator will look for series with exactly identical label sets on the left and right side of the operator, and then make an identically labeled output series with that operation applied. For series that do *not* find an exact correspondence on the other side, they are simply dropped from the result. So if one of your sides is a subset of the other (as in your case), only that subset will find a label match and make it into the result. You will still have some cost though by first selecting those extra series that then get thrown away by the binary operator matching, so it may or may not be a good idea (efficiency-wise) to do the filtering everywhere (if otherwise the set of selected series would be very large).
I visualized it with a somewhat simpler scenario here, see the "Explain" tab on this query showing how two of the three series on the right side do not find a match on the left side: