My immediate concern is that unsafe code may be making assumptions about the nonexistence of foreign impls; only a select few types (&T, &mut T, Box<T>, Pin<T>) allow foreign impls. (These types are called “fundamental” types.)
Those fundamental types have contributed to unsoundness in std in the past: Unsoundness in `Pin`
I can’t actually think of any soundness problems that would ensue from allowing arbitrary users to implement foreign traits for Option<LocalType>, but unless someone exhaustively proves that this is sound, I will remain suspicious.