Derby's unbeaten run under interim manager Wayne Rooney was ended when Preston scored deep in stoppage time to snatch a 1-0 victory at Pride Park.
Preston had struggled to take advantage and looked to have run out of ideas until Browne struck to deny Derby the point that would have seen them move out of the bottom three.
Derby had scored twice in a game for the first time this season in their previous match against Swansea, and they had an early chance with Waghorn heading over from a free-kick in the fifth minute.
It was a confident start from Derby, who were getting Nathan Byrne in on the right. But Preston went close in the 15th minute when Scott Sinclair pulled the ball back to Sean Maguire, who saw his shot blocked before Paul Gallagher sent the follow-up over the bar.
Derby had to regroup five minutes later when Waghorn went in over the top on Browne and was shown a red card by referee Darren Bond.
Waghorn could have no complaints after launching such a wild challenge which could have seriously injured the Preston captain, who was able to continue after lengthy treatment.
Preston made the extra man count with a good period of pressure, forcing David Marshall to claw away a low cross, although the half ended with neither goalkeeper called on to make a serious save.
That changed six minutes into the second half when Sinclair surged forward up the left before switching to Maguire who played in Tom Barkhuizen, and his low drive was parried at his near post by Marshall.
Another good move up the Derby right ended with Maguire having a shot deflected into the side netting, but the home side broke dangerously through Byrne, only for Jason Knight to plant his cross into the arms of Declan Rudd.
Despite being a man down, Derby were looking increasingly dangerous and Colin Kazim-Richards almost had a chance at the near post when Knight whipped in a cross.
Preston had struggled to create openings but in the 96th minute Daniel Johnson set up Browne, who sent a shot beyond Marshall and inside the far post.