Collision hulls are part of the static mesh object, so yeah, they’re loaded even if collision is disabled on the instance.
Are you using a custom FoliageInstancedStaticMeshComponent or something? Because I can’t think of a reason why the initial load in a packaged build would take more than a minute or so, even with millions of instances, unless you’re doing something non-standard in the initialization of the Instanced Foliage Actors.
When you say it loads fast with collision disabled, are you disabling collision in the FoliageInstancedStaticMesh components on the Foliage Actors, in the Static Mesh, or in the Foliage Type?