I did my first swim workout today and for the first 3-5 laps I found that the watch wasn't counting laps properly. However, after a few laps I noticed that each time I did a turn it started recognizing the turns correctly and I believe I ended-up with the correct number of lap counts at the end of the workout.
Here are some assumptions for the initial miscounting:
1) Since this was the first swim, maybe the watch needs some calibration time to assess my stroke type, stroke length, etc. plus how I turn to determine the proper lap count. Around lap 10 I started looking at the watch at the end of every lap and it was counting laps correctly, ended-up doing about 51 and the total length tracked at the end seems about right for the pool length and my usual average time to cover a lap, so I think while it was showing incorrect laps at the beginning, it seems to have corrected / adjusted some time during the workout.
2) During the first laps I glided a lot as I was doing fairly strong strokes (i.e., covered length of pool with less strokes), so I wonder if the watch has a harder time determining distance covered as I was doing less strokes than what would be expected for the pool length (since the watch doesn't use GPS to determine distance when doing a pool workout).
3) Not sure how Apple counts distance covered or how they determine if a lap has been completed. I would assume some element of acceleration, velocity is determined using the watch's sensors and then they probably make assumptions based on your height, weight, gender to determine how much distance you covered based on those parameters (average displacement for a stroke, length of stroke, number of strokes, etc.). For pool counts they are probably comparing their assumption of distance covered with a detection of change in direction, or the fact that you might have stopped momentarily as you turn to a new lap. So, in other words, there are a lot of assumptions going into those calculations and I wouldn't expect them to be completely accurate, but to stay relatively in the ballpark of the actual number of laps, calories used, etc.
I will have to try again later this week to see how the watch behaves and if it needs that initial calibration for the initial laps.