The compiler (stable 1.40) seems to generate different vtables for dyn pointers when the same coercion is done in different modules of an rlib. Perhaps rustc and/or linker was not able to recognize that the vtables are the same and dedup them?
This results in ptr::eq(), Rc::ptr_eq() etc returning false, for the same pointer. Is this expected behavior? Feels like a bug to me.