Common problem. The same file loaded independently into any service, also RideWithGPS for example, gives different elevation. Strava is notoriously bad, but it has a recalculate function.
Could be, but when I sync from Garmin to Strava, I get significant differences, but Strava has the ‘correct elevation’ option, which then usually alligns it more closely. Xert always is close to what Garmin records, whether I sync directly from Garmin to Xert or from Strava to Xert (where Strava gets the file from Garmin, as I have an Edge)…
Just for fun, I have uploaded an old ride - Garmin export original, date altered with fitfiletools.com - to Garmin again and had that sync directly to Xert and from Xert to Strava. For the original ride, Strava had 400 meters of elevation more, but was close to Garmin after correction, Xert (via Strava) had the same elevation as Garmin. Now, for the new upload, all three have the same elevation…