For what platform?
We only use Metal so I can just answer those. Blueprint wonβt merge any draw calls for you automatically but components like collisions or arrows does not add anything to render in actual game. Each static mesh component(no matter where you define it) add one draw call per element for each view. So dynamic character with 6 materials will add 6 for main camera, 6 for shadow camera.(this could be merged if all materials are opaque with additional index buffer cost.). Each planar reflection actor also act as multiplier.
Instancing does work on all ios platforms.(metal or gles2.0).
Not visible, hidden or culled component does not cause any draw calls.
Particles are batched or instanced. Only one draw call per emitter should be done.(not sure if different emitters are ever batched)