It does give the Attacker an advantage; but that’s not the reason for the rule in my opinion. The rule is set up that way to force you to lose cruisers before destroyers and carriers before planes (or vice versa depending on the situation). If you can’t knock down his DD cover, its better to lose your subs as casualties (attacker). If you can knock that DD down, then keeping the “cheap” subs is a good idea.
It is one of the few examples where the combat rules force you to be forward looking from round to round and make hard choices that affect the special rules. It makes the sub/destroyer rule more interesting, and DD’s more valuable.
And I’ll tell you from experience, the rule changes outcome. There were multiple times in the last tourney that I kept a sub which could have been lost in these battles (instead of leaving a Cruiser and DD behind on the surface) and killed a cruiser, and 2 tipped BBs.
If you leave surface ships alive, they can be attacked by anything. If you only leave subs alive, they can only be attacked by destroyers.
If you tip carriers, you have to lose planes in kind, so it makes the carrier tipping rule much harder to game and that part actually favors the defender. If you take exactly 3 (anywhere) hits, you can tip a carrier and lose 2 planes. But if you did not know at the time whether you were about to take 0, 2, 4, 5, 6 or exactly 3 casualties, you couldn’t so neatly adsorb them as the attacker.
This is why the rule is flavorful in my opinion.