It runs fine on my Samsung Galaxy S3 in Chrome for Android. But note you're doing the classic instance-vs.-instance collision check with lots of instances. You've effectively got a collision test checking every sprite to every other sprite. So with 80 sprites you're running 80x79 = 6320 collision checks per tick (if it could still hit 60 FPS, that would be ~380k collision checks per second). I guess that's enough to drag down weaker mobile CPUs. The most obvious thing to do would be just to set a flag when the sprites "land", and put a condition checking the sprite has not landed, e.g.:
+ Sprite: 'landed' flag is false
+ Sprite: does not overlap (...)
-> Do stuff
Since conditions are also run top-to-bottom, you only run collision checks on the sprites with 'landed' set to false, which is typically only a handful even after they've stacked up.
You'll need to consistently make optimisations like this to ensure good performance on mobile. This is not because Construct 2 is just slow, it's what native developers work hard at as well.