I only use my watches for swimming - pool and OWS - and have an old (non-updated) 920 XT, a Forerunner 935 (working off the latest firmware and GPS v2.30) and a Fenix 5X Plus (also working off the latest firmware and GPS v2.30). In 4 long OWS since v2.30 was released, I have had one decent track with the Fenix 5X plus and 3 awful tracks with either the Fenix 5X Plus and the 935. All the tracks on the 920 XT have been good. The distances of these swims have ranged from 1.4 km to 5.7 km.
Today, I used both the 935 and the 920XT and the 935 measured just over 500m while the 920 XT measured 2.7km. The 935 actually stopped the measure at just over 10 metres and I had to stop and hold my wrist above water to get it going. No issues at all with the 920XT. I have followed the Garmin instructions to make sure I have a good GPS fix - today, I made sure I had the fix 30 minutes before the swim.
This issue with GPS has only happened since July and the release of the v2.xxx of the GPS. It is ridiculous and Garmin needs to fix it. Prior to this update, the 935 was perfect in every respect and now, it is next to useless for OWS.