Sisko should have been a commodore at the beginning of the series. Command of the station is much more complex than a starship, even if the number of Starfleet personnel Sisko commanded at the beginning was smaller. DS9 has a mixed Starfleet/Bajoran crew, a large number of civilians, a non-Federation government to work with, many ships from many jurisdictions calling. Much more complicated than a single Starfleet ship. By the middle of DS9's run, they were saying the station's population was several thousand. By then, it should have been an admiral's command. And certainly in season 7 when Sisko was directing a fleet of several hundred ships, he should have had two stars if not three.
Nog's promotions seem about right to me. Junior officers' first promotions occur faster than senior officer's promotions, and Nog put in a lot of time on the Defiant's bridge in battle and did very well.