It turns out that the problem isn't with GeometryReader, it's with LazyVGrid.
I'm not clear on why, but my grid with 5 columns doesn't always report the same size. I can make it work by adding a 6th column that doesn't get used in the view. Very odd.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: