Theory question here:
Why does specifying table.field IS NULL or table.field IS NOT NULL not work on a join condition (left or right join for instance) but only in t
Your execution plan should make this clear; the JOIN takes precedence, after which the results are filtered.