I am not a naval armour and shell penetration nerd, so I would defer to those who are, but I submit that Cold War anti-shipping missiles were not designed to penetrate armour. Because armour was obsolete. And no-one had it any more. My understanding is that anti-shipping missiles are designed to deliver a bunch of high explosive, the kinetic energy of the rocket bodies, and their unburned fuel into the hull of an unarmoured ship, to smash things up and light big fires.
I expect that anti-ship missiles hitting an Iowa or any of the other classes in this thread, could blast away all the antennae and blind the ship, cause mayhem on the unarmoured superstructure, start fires and cause lots of casualties, but not penetrate the armoured citadel, barbettes or turrets. So in a sense, anti-shipping missiles are performing the same role as the quick firing secondary batteries of warships from the 1880s until Tsushima or later, by firing HE shells at the superstructures of their enemies. The slower firing main batteries of the battleships and armoured cruisers of the era were to fire the armour piecing shells that would sink a ship, or else use torpedoes to deliver the killing blow to a cripple.
IMHO targeting the deck armour in a steep dive vs flying into the belt armour might have been a plausible way for large supersonic ASM's to increase their chances of defeating the armour scheme of a battleship. I take your point about the ASM's probably not having dedicated AP warheads but my understanding is that a number likely targets besides battle ships did have some form of armour so at least some Soviet ASM's having some form of warhead casing designed for a certain ammount of penatration seems plausible to me.