Sprites vs 3D models cost

The thing is that the Babylon sprites are user-friendly and let you do a number of things (like setting the visibility on a per-frame basis for each sprite) that leads to reconstructing the vertex buffer each frame: in your PG, most of the time is spent in the Sprite.render function because of that.

Optimizing sprite rendering has already been discussed in this thread SpriteManager WebGL transparency draw issues and improves and a PR has been alluded to but never created.