Noticed that on mine yesterday. On a 6 hour ride stopping halfway for lunch, moving time was only 3 minutes less than total time.
There is an explanation of this on the Garmin site IIRC although I remember it being a bit vague and didn’t make too much sense to me.
From experience of a similar thing I’d imagine you have the auto-pause function on in which case there is no way to get to real full time of the ride including lunch recorded (despite the logic that says this is just daft). Only when you are moving, when the unit is unpaused, gets recorded. The 3 minute difference is just a series of 5 second sections added together where you stop riding but the unit takes some time to pause.
Equally though, I think if you turn off auto pause then the entire ride and entire overall duration gets recorded but the “moving time” goes all iffy and the moving and total times will match but to the overall duration you spent out. As far as I’m aware you record either one or the other despite the logic which says it shouldn’t be hard to measure both properly.
Just my experience of it 😀