It is definitely z-fighting. you can either solve by reducing between your camera minz and maxz to increase precision and if all meshes are at the exact same position (the model should be reviewed to prevent that) you could use the babylon z offset functionnality to force a draw order.
There is no difference between the playground and using react-babylonjs for camera. That library is only responsible for adding a camera to a scene. You may be doing something else when props change that is causing your frame rate to drop. For example, there is no createDefaultCameraOrLight or createDefaultEnvironment available declaratively, so if you were running that equivalent in a loop would cause something like that. You would need to share code for us to be able to help there - since playground doesn’t support React - you can create a sandbox - ie: blissful-framework-br0hl - CodeSandbox.