Promoting anyone was probably out of the question unfortunately. I was in the military (not the Navy though so maybe it's different) and units typically have so many slots for certain things, like they're only allowed so many clerical specialists and whatnot. It can be similar for rank. Sometimes you'll have a company XO who is a first lieutenant, but is promotable to captain. He won't be able to pin it on unless he takes command of the unit he's in and the current company commander moves on or he moves on to command a different company. It helps to avoid confusion in the command structure this way.
It is likely similar on Voyager. Each section is probably allotted a certain number of personnel, job specializations, how many of each rank, etc. In the AQ, when someone is promotable and there are no appropriate slots to move into, that officer probably has the choice of being reassigned to a ship that does or remain stagnant at the current posting. Commander Riker is an excellent example of this. He's been promotable many times, but chose to remain Picard's first officer. He can't pin captain's pips until he moves to his own ship. This is also why you see two people competing for the same posting as seen in Lower Decks. One slot, two qualified officers.
Stranded in the DQ, there are no ships to transfer promotable personnel too, hence no promotions. Harry Kim would have been a career Ensign unless someone ahead of him in rank and in a slot he could move into was KIA.