I just recently upgraded from a Vivoactive 3 to 4. The software on my new 4 is at the latest 6.3.0 version. I've noticed that when swimming it doesn't actively count the lengths correctly in the 25 yard pool I use, sometimes the lengths update while I'm actively swimming but usually after several laps and even then it's several behind the actual number.
I generally swimming something like a 20 lap series of 14 front-crawl laps and then 6 ***-stroke laps three or four times. The distance measured when I pause to rest between series is usually off by about 50 yards, which isn't a big deal. The main annoyance is that sometimes I'll forget which lap I'm on and have to look at the watch. My Vivoactive 3 was always able to correctly count which lap I'm on unless I did something weird with my left (watch-wearing) hand during a lap.
When I finish my activity I can see that the average time per 100 yards is generally off by a full minute but it will usually quickly get corrected to the proper lengths I swam. For example it will say 3 minutes per 100 yards on the screen before saving the activity, then on the activity review screen and when my phone gets the push notification it correctly says 2 minutes per 100 yards. In other words in the end it DOES correctly count lengths. However, the whole reason I bought a Garmin watch was so that I don't have to actively keep count in my head while swimming, often times I'll usually forget if I'm focusing on my breathing real hard.
Is there anything I can do to properly calibrate the watch to correctly show which lap I'm on? I'm mostly irritated that I spent money to upgrade from my Vivoactive 3 to now have a watch that's less helpful.