Joining a table on a column without an index will require a linear scan of the column. You almost always want an index on JOIN columns
So it was probably being joined by an indexed column, but without an explicitly defined index.
In this case, the premium user table only needs the user id primary key/surrogate key because it only contains premium users. A query starting with this table is naturally constrained to only premium user rows. You can think of this sort of like a partial index.
One consequence of this approach is that queries filtering only for non-premium users will be more expensive.