It's not the switching that's the problem... It's the fact that you're disconnecting the ground wire. Without ground connected, the voltage across the SIM800 will become 0, and as the power wire is connected, the SIM800's ground (and all its signal outputs) will become the same voltage as the power wire.
In this case I guess it's connected to a LiPo battery, which could be 4 volts or so? So either you're putting too many volts into Puck.js's inputs, or you're putting a negative voltage (relative to the SIM800's GND) into the SIM800, which it won't like either!
It's the same reason you're supposed to put the switch for mains-powered devices (like light bulbs) on the live wires, not the neutral wires. If you switch neutral then when the switch is open, the voltage on the neutral wire from the light bulb ends up the same as the live wire - which could be a problem if you weren't expecting it!