Ok, so there are a few different possible issues here, I think.
1) The "popularity" algorithm itself, which generates the popularity css classes
2) The css classes for popularity being rendered as you'd expect
1) The algorithm is in TagCloudWidget::TagsCollection()
and it tends to weight things toward the middle with very few tags, so tends to produce several tags with the class "popular"
2) The styles are .tagcloud .popular etc... and the may be being masked by something else on your page. (I, for example, had them masked by something called #RightSidecar a {} ... ) Unfortunately, this is in blog/css/tagcloud.css, and that is loaded with Requirements::css("blog/css/tagcloud.css") path, and not themedCSS, so you can't just put a new one in mytheme_blog and have it picked up instead. (I've filed a bug against that) So you have to override it with some other more specific identifier --probably one that starts with #. See the css scope rules for this.
To isolates these two issues, I made a fke include something like the following:
<h3>Fake Tag Cloud - for testing</h3>
<p class="tagcloud">
<a href="/blog/tag/tag1" class="not-popular">tag1</a>
<a href="/blog/tag/tag2" class="not-very-popular">tag2/a>
<a href="/blog/tag/tag3" class="popular">tag3</a>
<a href="/blog/tag/tag4" class="very-popular">tag4</a>
<a href="/blog/tag/tag5" class="popular">tag5</a>
<a href="/blog/tag/tag6" class="utlra-popular">tag6</a>
</p>
If you do this, make sure you put this exactly where your tag cloud would go.. right above the call to $Sidebar, so that the css scope rules are the same in that part of the page. THis will sort out any css issues/
As far as the algprthm, it seems to be doing something reasonable, so I for one, am just going to keep an eye on it as the blog grows, and see if its ok.
hope this helps