I want to throw this out here as a theory, and you can let me have it if you disagree:
I think the system is behaving as expected. If the watch has a barometric altimeter, Strava uses that data to provide elevation. For activities recorded via the mobile app (i.e. your phone) Strava uses it's own series of maps with topographic data to provide that elevation data. (Whether the phone has a barometer or not.) More details: https://support.strava.com/hc/en-us/articles/216919447-Elevation
From personal experience with Garmin and Wahoo computers, I can tell you there can be a big difference in these results. Also, you might have to factor in changes in barometric pressure at your location during your bike ride, as this makes the computer think your climbing or descending when you're not.
Whaddya think?