“How do you think John would have found out about the details?”
Great question, PNP! When the series started, nobody even knew the “thing” that had killed Mary was a demon. Then suddenly, after 22 years of searching for answers, John told Sam a few episodes ago that it was a demon. And by the first episode of season 2, not only has John identified the demon by name AND discovered a way to kill it, but he’s somehow discovered the demon’s plans for Sam, and admits that he’s known the plan “for a while”. That’s a mighty steep learning curve, even for someone with John Winchesters superhuman hunting skills.
If I had to guess, I think once John figured out the “thing” was a demon, he figured out how to trap and interrogate demons, so maybe some of them gave up the information. It seems that all the demons in seasons 1 – 3 knew that Sam was supposed to lead Azazel’s army. That would’ve been a juicy piece of information to torture John with. The demons probably had fun telling John, because at that point they were pretty sure there was nothing he could do to stop the plan.
If I had to guess, that would be my best guess 🙂