I'm not actually sure to be honest. I can't say I've ever tried something like that, mainly because in all the FFI resources out there say it's really bad (even across the C/C++ boundary with exception safety), and I once segfaulted when a Rust function I was calling from Python panicked.
You might want to write a dummy Rust program which calls some C which calls into Rust again and then step through the unwinding with gdb to see what actually happens. Also, is the stack layout for Rust and C guaranteed to be the same on x86_64?
Sorry I can't help you much more than that! Someone on the compiler team (like @nikomatsakis or @nrc) might be more knowledgeable than me though. Keep us informed on how your experimenting goes, I'm really curious to find out what actually happens when you unwind across the FFI boundary!
EDIT: I got curious and found an issue on the Julia language repo about unwinding from C++ into Julia. It may help answer some of your questions.