One of the issues is Wasm specific: translating everything every frame requires sending a lot of data across the JS/Wasm boundary (disablePreStep=false), and it is not fast to say the least.
Here is a discussion about that from a while ago:
You can also have issues when not using a fixed physics framerate, creating jittering.
Translating everything back to the origin for rendering only is not easy to accomplish as discussed here:
None of this is unfixable, but I didn’t take yet the time to make all of that in a single demo haha