First, try checking the "Convex" box in the mesh collider options just to see if the issue is related to that. If it is, you don't need a "bunch of box and sphere colliders", you can just use two convex cones arranged like an hourglass.
You should also read the documentation about Mesh Colliders because it notes some important quirks:
- GameObjects that have a Rigidbody component only support Mesh Colliders that have Convex option enabled: the physics engine can only simulate convex mesh colliders.
- For a Mesh Collider to work properly, the Mesh must be read/write enabled in any of these circumstances:
- The Mesh Collider’s Transform has negative scaling (for example, (–1, 1, 1)) and the Mesh is convex.
- The Mesh Collider’s transform is skewed or sheared (for example, when a rotated transform has a scaled parent transform).
- The Mesh Collider’s Cooking Options flags are set to any value other than the default.
As for why it's behaving differently on iOS than in the Editor, this could be due to a bug in Unity, or it could be related to your project settings (e.g. if you are using lower-detail meshes on iOS, or have code that is wrapped in
#if UNITY_IOS directives).