So I "finished" Skyrim after defeating Alduin (110 hours - most of which was spent trying to survive on Solstheim, since I bought all the DLC with the main game, and assumed Miraak was the key to defeating Alduin). Here's what happened when I returned to Skyrim:
1. Found the Elder Scroll at Black Reach and read it at the Time Wound to learn the shout that could summon Odahviing
2. Went to Jarl Balgruuf to ask about using his palace to trap Odahviing, was told to arrange a peace treaty first
3. Greybeards agree to host a treaty discussion if I can get Jarl Ulfric and General Tullius onboard.
Here's where it got strange:
4. Went to Jarl Ulfric, but there was no option to request his attendance at High Hrothgar. However, Galmar notices that I completed the "Join the Stormcloaks" quest since I left for Solstheim long ago, and recruits me to kill some Imperials and fetch the Jagged Crown
5. Returning to Jarl Ulfric, there's still no option to invite him to a peace treaty. Instead I now have to deliver a "challenge axe" to Jarl Balgruuf, to whom I'm a Thane (I also own a house in Whiterun). Balgruuf sends me back with the axe and things heat up.
6. Turns out Galmar is going to attack my hometown of Whiterun and Jarl Ulfric expects me to participate! Still no option for a peace treaty. I turn on Galmar and his soldiers during the assault and kill him, but he's a quest NPC so he doesn't die, and his soldiers ignore the fact that I'm hacking them to bits, so I just fast travel back to Windhelm.
7. Jarl Ulfric congratulates me for the victory at Whiterun! Although he chastises me for running away, there's no mention of the fact that I turned against Galmar. Still no option to invite Ulfric to the peace talks.
8. Fast travel to General Tullius, who accepts the peace talks.
9. Return to Windhelm, and now Jarl Ulfric accepts the peace talks.
10. Return to Whiterun (Jarl Balgruuf has since been deposed) and capture Odahviing, etc., etc.
It seems like the problem was that I should have visited General Tullius first, then Jarl Ulfric after. Was this intentional in the game design, or did I trigger a strange bug by returning to Windhelm with the initial "Joining the Stormcloaks" condition satisfied (finding the Ice Wraith teeth)?
Unfortunately after 90 or so hours, the whole storyline fell apart and I was "railroaded" into attacking my own town and deposing my own Jarl in order to save the world from Alduin. It seems like story-wise, the ideal time to offer Jarl Ulfric the peace treaty would have been before he attacked Whiterun, but the game simply wouldn't allow it. Although I did enjoy the game overall, I must say that my experience was somewhat tainted by this "glitch" during the build-up to the climix.