You (and the cruise lines) are correct. The Passenger Vessel Services Act of 1886 (commonly misquoted as The Jones Act of 1920, which established the U.S. Merchant Marines, and sets work conditions for mariners, and has nothing to do with passenger ships), predates the United States' acquisition of Puerto Rico and the U.S. Virgin Islands by many years. At the time it was written, in other words, they WERE foreign ports. And no one has bothered to change that.