People have been saying for years that CS:S's hitboxes are behind the player. You can create a server and make hitboxes visible, and in fact hitboxes do not line up with the character...for the most part. But every time you shoot you'll see the hitbox "snap" back onto the player. Try shooting the lagging hitbox; no damage. Try shooting the player/bot; damage.
This is harder to test with TF2 since you can't have meaningful bots, but it's the same.

Now there is still network lag in the game that can jack things up. And I've seen plenty of times where shots don't reg or misses do reg, but I think that's just lag ands not an inherent hitbox problem.