Does Rust make RCE impossible?, I don't think it does.
There is the option of not having data and code sharing the same stack, that seems like a better solution to me but that's such an option is not usually talked about.
It makes this kind easy pivot to RCE impossible. Attacks these days are generally more sophisticated than simple buffer overflows, fwiw. Targeting function pointers from a heap overwrite gives the same capabilities.