I've noticed with Team Fortress 2 if i have my headset plugged in before i start up the game, all sounds will come from the headphones, but if i plug in my headset after the game is started up, all sounds will be on the speakers except noises coming from Steam, like messages and voice chats, voices coming from the game will continue to play on the speakers
Maybe it's that way for all Source games?