In my Chin China game in 1957, the AI launched 2 invasions against me. In both cases, I sank every invasion transport they had, but took significant damage to my warships. This resulted in one battle being a moderate loss (almost a draw) and the second being a bit of an objective loss, but not too bad of one.
Both times the invasion succeeded, despite every single invasion transport being sunk. So obviously something is broken here, since it seems like getting the invasion transports to shore has no bearing on how one wins the battle. Now I have no issue with a loss for the defender where the invasion transports survive but don't make it to shore results in an invasion, nor in situations where a win for the defender where troops land on shore results in a failed invasion, but this seems a bit buggy to me. Although IDK, those other 2 could be bugs as well.
I can see a case for a successful invasion if the transports are sunk but the defender loses very badly (i.e, doesn't have any naval forces left to repel a second attempt), but if you have capital ships or carriers present after the battle, as here, that does strike me as a bug.
Simple, we need to have the achievable victory points from sinking invasion transports to be higher than that from them reaching disembarkation positions (IIRC 80K VP). This would mirror reality, loosing an entire transport fleet for even one of the smaller invasions would mean at least loosing a short division of troops and their entire paraphernalia (i.e. more than 10K troops). Those troops would also most likely be lost (to POW status) if they get ashore but their transports (with their ammo, their artillery, their field kitchens...) are sunk behind them if there are any significant defenders ashore.
Then an invasion could even be averted by e.g. a suicide run of a single CL into the invasion convoy even after it reaches the disembarkation point.