If by “geometry” you mean BSP brushes. The difference is in quality, more than performance.
The engine just can’t be used to make finely detailed models. More appropriately, even if it could, no one should be using it for that purpose.
About the test.
Its kind of meaningless. Occlusion can come in and cull instances when they overlap each other. You should distribute the geometry evenly with a script to test the difference.
And you should also test the difference between just having meshes in the level, vs using an HISM component to handle the instances.