I just tested this and this does not fix the issue. In fact the 'lang' parameter is essentially useless when querying by custom post type or standard posts/pages.
It appears that when querying by custom taxonomy values WP_Query() ignores the current language and just simply returns all results with that match the taxonomy terms.
I guess a fix would be to use language specific terms?