Phew, I messed with this thing on and off for about 2 days, trying to figure out what the AI was actually programmed to do.
Trying the simple way first...
Waypoints that were meant for land terrain are certainly not meant for below sea level operations. So anytime a transport unload waypoint is synchronized with a getout waypoint on water, the helo will always find the nearest land to perform the order. It will then hover there while the group swims back out to sea to activate their waypoint before ever flying off. That's not what anyone wants to do at all. So, synchronized waypoints are definitely out the window for waterborne operations.
The next option is to assign waypoints to the helo and control it's movement with conditions and timeouts. this worked great so long as the piloting skills of the AI does not overrun waypoint activation perimeters.
The first thing you need to do is set the helo to "careless"("stealth" to shut down navigation lights) and "never fire". Otherwise they will ignore all waypoints and enter in to the hard code that seems to force them to engage all hostile threats that appear on their radar before carrying out other orders.
Secondly, you need to begin slowing the speed of the helo down to "limited" at about 150 meters before the actual hovering waypoint. This will give you a better chance of the AI being precise with it's stopping point.
The trick is understanding waypoint activation and completion rules. The thing to remember when depending on waypoints for movement is that speed, behavior, formation and combat mode are all inherited the moment the vehicle completes the waypoint before it. In order to stop a vehicle, you must control it with the condition field of the next waypoint.
Insert your first waypoint 150-250 meters before your chosen hovering point to maintain normal speed until then. You can adjust the flying height in the Onactivation field a little here if you like.
Insert your second waypoint where you would like the drop to occur. The speed should be set to "Limited" in this one so that once the helicopter completes the first waypoint, it will inherit the speed attribute of the second and slow down. That will prevent shooting beyond the waypoint. In the condition field of this waypoint, you want to prevent the drop from occurring to high or while the helo is still moving. So insert (getpos heloName select 2 <= 6) && (speed heloName) <= 1
into the condition field. Now the chopper will come to a stop at a height of 6 or whatever number you choose to make the drop before the activation field kicks in. If you include a timeout in this waypoint, it will come to a stop and wait that timeout before executing the activation field. In your Onactivation field insertzodiak1 setpos [(getpos heloName select 0),(getpos heloName select 1),(getpos heloName select 2)-1]; {_x action ["eject",heloName]} foreach units groupName; {Unassignvehicle _x} foreach units groupName
Of course, you'll have to create the zodiak boat and name it first before you can set it in place. That will eject all group members at once as the boat drops to the sea. If you don't unassign cargo units from vehicles, they will try and board it again. In this case, the helo will go to the nearest land and set down and wait for the group to swim ashore and mount.
Place a Third waypoint next to the second and put a timeout into the timeout fields, all the same number. If you don't do this, the helo will take off as it's executing the OnActivation field of waypoint number two and your drop scene may become messy. With the way that the chopper is spitting the group into the sea, it happens instantaneously. So put a 5 second timeout to keep the helo still long enough to look right. You can readjust the flying height of the chopper in the third as it's on it's way out.
The fourth waypoint should be placed wherever you want it to exit with speed adjusted to normal.
That is the easiest way to do it.
A script would better control the direction of which the boat is placed under the helo for drop, ejecting the units one at a time with a delay, handle the boat mount, etc.
I personally do not like the new way AI fly choppers above limited speed. It seems that they constantly job the nose to gain speed and then regain control causing an unsightly dipping effect. It's grossly unacceptable. So, I would prefer to place the helo closer, set it to limited speed at start and flying at 10 meters nearly all the way to the drop, lowering it to 6 at 20 meters away.
Hope this helps.