They're filled up linearly. People who join in the same time-frame therefore come in the same town.
Once you get 100 soul points, you get to join veteran towns, which have a bigger desert and will only have other people with 100 soul points. Therefore, once you have survived for a full 14 days in the same town, you get to join a town with experienced people only.
Of course, when you're a Hero, you get to decide for yourself which town you'd like to join.
So no, they're not secretly skill-matching. They are doing it in a very obvious way.
If you're interested, the formula for soul points is where n is the amount of days you lived fully in a particular town. Basically, you add up the amount of days, which means that by day 14 you'll have 1+2+...+14 = 105 soul points.