Lazy loading everything is a mistake
A lazy attribute on the hero image delays the one thing the metric is measuring.
Adding loading="lazy" to every image is the kind of change that looks like a win in a diff and shows up as a regression in the field. The image above the fold is discovered late, requested late, and paints late.
Never lazy-load above the fold
Give the hero
fetchpriority="high" and no lazy attribute. Everything below it can be lazy, and should be.The rule is one line long: lazy below the fold, eager and prioritised above it.