Rohit Jain noticed this problem. When we have an IN subquery that produces a table with unique values, then we should use an inner join in the query plan. However, we see a semi-join when the subquery references a salted table. The problem is that the uniqueness constraint generated for salted tables is not optimal. Another example is a groupby on a unique column - the optimizer should eliminate the groupby, but this does not happen for salted tables.
Here are some example queries to demonstrate the problem: