Both the manual and the FAQ are correct. The key concept is that subs can be ignored during movement. From the FAQ:
Q. Let’s say I attack a sea zone that contains both enemy subs and surface warships. If at some point during the battle, all of the enemy surface warships are sunk and only subs remain, can I ignore the subs and end the battle?
A. No. Subs (and/or transports) can only be ignored during movement, and you can only ignore them when there are no surface warships in the sea zone with them. When you attack a sea zone, you attack all of the enemy units in that sea zone.
So if there are only enemy subs and/or transports blocking your amphibious assault, you can choose to ignore them and they won’t block it. However, if you choose to attack them (or if there are also surface warships there and you are forced to attack them), you must defeat all of the defending units before your amphibious assault can proceed.
In a nutshell, subs will only fail to block your assault if you never attack them in the first place or if they submerged after you attack them. Once you attack them, they will block it until they are destroyed or they submerge. Does that make sense?
As a side note, there is a pending erratum to change the wording of the passage you quoted from the manual to make it a little more clear. The corrected wording will be “If there was no sea battle or the sea zone has been cleared of all defending enemy units except transports and submerged submarines,”. I don’t yet know when this will be published.