Strava uses GPS data.
Garmin Connect uses the GSC10 data if present. So if you happen to stop with the magnet in just the right place, or some otherwise similar circumstance, you can get some odd max figures recorded where it is triggering repeatedly from minor movements.
Strava vs GC average speeds always differ.
Cadence should be the same as it comes from the same sensor, so within rounding errors, they should match. Same for HR.
The plots on Strava and GC are plotted to a limited time resolution, thus the spike may not show up. For example, my power data on GC or Strava may show 4-5 drops in power (a bug with the 810 causes the power values recorded to drop to half of the current power for 2-4 seconds periodically - Garmin are working on a solution) but Golden Cheetah or WKO+ will show many power drops, up to 30+ for the same duration of time, due to the greater time resolution on the plots. They are present in all data (as will your speed spike), it is just a graphical limitation on Strava and GC.