To quote this question, and the article it refers to:
INERSECT returns "those distinct values that are common between tables"
I have never seen a situation where:
SELECT DISTINCT a.x
FROM a
INNER JOIN b on a.x=b.m
would not return "those distinct values that are common between tables" either, regardless of the uniqueness of a.x or b.m in either query.
I agree that the execution may be completely different in either case.
Chris