As much as I agree that Roblox should definitely always strive for making their engine better, this post makes me… disappointed.
This is the most apples to oranges comparison that you could have ever made here.
All those two mobile games run is collision detection, and even though that’s a major part of a physics engine, it is also 2D instead of 3D, and most collisions are boxes or spheres.
Not to mention that the amount of objects that these mobile games would be checking collisions for is much smaller than OP’s claim of 100*25 = 2500 rapidly simulated (likely 240 hz) parts, all with what I assume to be mostly welds but definitely a few different types of constraints as well.
2500 parts having their 3D physics simulated 240 times a second is much more complicated than a mobile device calculating 2D collisions for at most 100 objects at maybe 60 fps.
No wonder a server would struggle to replicate that much… And, just remember that you can get access to this system without even paying a dime to have a server hosted for your experience, so for obvious reasons you’re not gonna get a top of the line CPU to handle all the computation.
In my personal opinion, you (referring to OP) should have a seperate simplified object to handle the physics, which then the actual car model can follow by setting a CFrame of a few meshes on each frame. I do not believe you need 100 parts, unless you’re trying to recreate BeamNG in Roblox, and even then I think you still can have a bit more optimization on that front.
…Or, just accept that Roblox will simply just never be perfect. Roblox is a platform, not just an engine. There’s other engines out there if you’re looking for something that you can truly run fully on the client only without needing a server.
Your game, as you describe it, will not be “low bandwidth friendly”, as even if you moved the physics to the client, they still need to be replicated from your client to the server, so other players can actually see the physics.
This is because Roblox chose to prioritize protecting your IP address from being discovered by other players, rather than raw performance, hence everything has to go through one server that simply isn’t being paid enough for this (this is an analogy).
I should also note that if this is a “single player experience” (aka 1 player per server) then by design you will be allocated a weaker server compared to games that need to handle more players being online at the same time.