This is a screenshot of the altimeter after a run with the FR955. The insert is the altimeter from a Fenix 5 Plus that I also wore during the run. The run was in the time period marked by the orange lines.

I had been on 10 meters altitude for a a few hours, went downstairs to -2 to run, and went back to 10 meters. The Fenix 5 Plus shows this clearly. Why is the FR955's altimeter so much off? It has never been as good as the Fenix 5 Plus (and 6), but it's been consistently wrong during outdoor activities from this location since September last year, which I attributed to unstable autumn weather. But now I have compared the two a few times and this shows that the FR955 is always varying too far much. This elevation plot from Runalyze shows the pattern more clearly.

I am 90% convinced it is software, because all other runs that start at altitudes above sea level and do not start shortly after descending stairs, are OK. DEM calibration to an altitude of -2 meters also does not work anymore, it will always calibrate to +2 meters or higher. I don't mind a small offset of a few meters, but the 'fake hill' in the elevation plot is not right and it annoys me.
I have never swum with the watch or immersed it in water (except for trying to clean the sensor as per Garmins instructions), usually take it off before using hot air hand-dryers (or dry my hands on my socks). I do not always take it off while showering and run in the rain with it, but that should not damage the baro sensor it I think.
What do you think? Is this more likely to be software or could it still be a sensor issue?
===
Edit: I compared with similar runs in this location, from other devices. ALL do a better job than the FR955. Fenix 2, 3, 5Plus, 6X, 7, Epix (gen 1) did it right. The Forerunner 935 sometimes also showed this 'fake hill" but not every run and not as pronouced.