I would expect that SO tag ordering is a very, very rough guide to language popularity. Figure +/- a factor or 2 or 3, the tags with large numbers on them may reflect general reality. The tags with smaller numbers, however, may be more fully represented in other arenas.
Once a forum starts show a preference, people will be attracted to that forum more or less depending on how that preference matches their. Thus, there's a selection effect in addition to the ones you mentioned. There are many places to find help, but some languages have better resources preexisting on the network.
It is truly difficult to get unbiased programming language popularity stats. I suppose you could look at resumes to see what people advertise they know, but this is influenced by what they think will get someone to hire them. You could look at jobs advertised, but this also has biases. If people who know one language change jobs twice as often as people who know another language, then you'll see more jobs offered for the former, all other things being equal.