I always thought of the early DS9/VOY uniform a type of fatigues to be worn in the field and it was up to the commanding officer to decide which dress code they wanted their people wearing.
That's pretty much it, IMO. They did seem more like fatigues or work coveralls.
But the way they were presented in VOY made them look more like a new specific starship duty uniform that was only in service for a couple of years.
Though Generations got silly with people just randomly changing their uniforms from scene to scene.
I dunno. If we go with the idea of the latter uniform being fatigues the use of them makes sense if the people wearing them had to do some dirty work for awhile. I always imagined that the
Enterprise-D was undergoing some major internal upgrades at the time of
Generations.