I've had the same issue with Apple and now with Garmin. I've been cycling for years, have a measured 219 FTP through TR and Zwift. However, Garmin today tells me I have a VO2 max score of 35 for cycling. It's basically saying I'm an unfit 46 year old. I find this very hard to believe considering I can easily ride my bike non-stop all day long at 15-20 mph without feeling tired or winded. Then, yesterday I went on a leisure walk with my Mrs, like 2 mph looking at flowers, felt absolutely fine, great actually, and the Garmin watch again told my I have a low 30s VO2 max. I do not find it difficult at all to exercise strenuously for any amount of time, for hours on end. For example, I can get my HR up to 185 for 30 minutes straight, feel fine the entire time, and then my HR will drop to 90 in less than 2 minutes when I stop (which is a sign of very good fitness). I don't get it. Would someone please explain to me what the watch is looking for in this VO2 max score? Seems completely useless to me and not an accurate representation of my fitness. Where's the disconnect?
The same Garmin watch tells me my Training Readiness is HIGH each day, so the low VO2 max is not from a lack of recovery per the watch's magic wand.