Model displaying random row when there should be none

When you say “if it isn’t null”, what is the it you are referring to?

If you mean the Subscription__r.Account__c field on the ProductUser model for ALL rows, then yes. No rows should be returned for ProductUserAccount.