many of us have puzzled over these puzzles !
mission control’s elevation records come from your phone, not the bike or any maps, and different phones have different altimeters. the latest iphones have barometric altimeters which are cross referenced to GPS for “leveling” purposes, and they’re not bad. GPS only altitude is useless. cross referencing recorded altitude from the altimeter to known elevational from GPS map positions is the best way, which is i believe what strava and rwGPS do. i tend to trust strava’s elevation numbers most.
as for moving time, if you hit pause and start a bunch in mission control, you’ll find more and more discrepancy with the strava moving time, which is calculated by strava from the position data and seems VERY uppity about considering when you’re stopped. even slight movement in the position track, as you see with GPS when rapidly stopping, does not show as stopped for a while in strava. take a close look at the strava ride analysis and see if it thinks you were moving for 21-25 minutes more than you think you were.
otherwise, those three results are actually quite similar. some have found much bigger errors due to incorrect wheel size setting, bad GPS reception, etc.