Join with multiple match conditions always checks ALL matches and just generates a row when there is a match for all conditions.
If there are missing values in one of the tables, a match means: missing in both tables (see examples in @jthi reply).
Stated differently: join with missing value doesn't mean:
If a value is missing, ignore this match condition for the specific row.