I have the same issue for some reason the hashtags and via are counted as additional to 140 chars even though the text, url, hashtags & via altogether are well below 140 chars e.g.
Read More - Be Wired in the Digital World aaaaabbbbbcccccdddddee #seered via @paintnblack -->86 chars, 24 over limit
Read More - Be Wired in the Digital World #seered via @paintnblack aaaaabbbbbcccccdddddee -->86 chars, 24 over limit
however once the hashtags and via are removed in both cases the character value goes back down to 140 exactly with 0 characters remaining. I am assuming it is the count algorithm and that the algorithm is a bit screwy i.e. (text (with hashtags and via extracted) + unshortened url length up to 140 char even though the url alone is greater than 100 char) + hashtags and via counts
so you could have a url or hashtags but not both and this here lies the problem. Because every single piece of documentation indicates that this should work especially for web intents where text, hashtags, via and url are separated into query parameters and all assurances the urls are will be shortened in the process. Perhaps you might want the ugly solution of preshortening the url so it can be shortened again but really the count you would think would not be this screwy.