GPU Instancing & Colliders

I’d be curious to know how you handle collisions best with GPU instancing.
I have a tree renderer that uses Graphics.DrawMeshInstancedIndirect so I don’t have a GameObject that I can just throw a collider on.
An idea I’ve had was to spawn a single GO that holds a bunch of primitive colliders with their centers set to the instances positions. But that doesn’t sound really great considering that I have at least a couple ten thousand trees.
It’s probably not really practical either to only spawn colliders for the trees closest to the player since it’s a multiplayer game & therefore the Server needs to be able to resolve many collisions all over the map.

Unless you want to move collision detection/response to the GPU (which is doable using compute shaders, and practical for simple enough use cases like grass bending/moving out of the way when the character gets close to it), the only practical option really is to use colliders only for instances that are near the player(s), or other forms of pruning that allow you to bring down the amount of GameObjects you need.

Resolving the collisions on the GPU is unfortunately not an option.
So I’ve actually just done now what I’ve described first, naively adding a collider on a single (hidden) GO per tree and I haven’t really noticed any significant impact on performance even with a couple ten thousand trees. I can even make them static in my case.
The important thing seems to be to hide that GO though, trying to select that in the hierarchy is no bueno!