I saw a picture of them loading the S-300's in the Moskva, I looked for it but can't find it again. There are some not very good schematics online. The below deck spaces are humongous. You can see the S300's from the machinery space. It's a very open layout. A fire in the machinery space can travel a long way.
There was no central firefighting system on the ship, that would have been done if they had done the planned refit.
Moskva was a parade ship- what systems did exist probably had about 20 layers of paint slopped over, so it's not a stretch to imagine nothing actually worked, but it looked pretty.
Manned by conscripts with very little training, and damage control? What's that?
The pictures we have see were obviously taken some hours before she sank, so who knows what kind of explosions may have happened later?
The ship is not unstable in the pictures- so they abandoned it prematurely, but maybe they knew they could not fight the fire and the risk of the weapons exploding caused the Captain to make the decision.
The Stark was 4,000 tons, and took 2 exocets in about the same place. She also listed way over to port, but the crew fought the fires and didn't abandon the ship.
Difference is the crew response, not the tonnage.