It's because they're playing with friends who are also not level 30 more than likely. There's nothing Riot can do about it, other than put that unranked player queueing with a level 30 with level 30s instead, and that's equally unfair to them.
Also, normal MMR (matchmaking rating) and ranked MMR are 2 separate things, completely uninfluenced by each other. When searching for a match, it gives you players based on MMR, not rank. Which explains how, on my pre-30 account, I've played with diamond players before (not joking either).
How that happens is because higher tier players play normal games so rarely, their normal MMR is low enough to match them with people who have lower skill levels than they should be. I personally think that it should lock you to playing with people 5 levels above and below you, and nobody who's more than a full ranked tier up from you (as in if you're silver 5, the most you can play with is gold 5) (unranked counts as silver 5 if level 30). However, maybe understanding what's going on behind the scenes will make it a bit more tolerable for you.