Agreed, however when talking about how great Rust deals with those, we should not forget it is only one use case among many others where Rust currently doesn't do any better than the competition.
Specially if we take into consideration that focusing back into processes is the only solution to prevent certain exploits.
It might be worth clarifying that catching data races isn't just about catching race-conditions-which-are-probably-bugs. Data races are full-blown undefined behavior in the C/C++/Rust memory models, which can (not necessarily frequently but under the right conditions) corrupt memory just as badly as a use-after-free or an out-of-bounds write.