Under the assumption above, I am posting this as an answer. See Comments above for further context.
You indicated that you still see the "backup storage" using LocalVariableInfo. For me, this means that the declaration is exclusively in the source and is not encoded in the method at all. The fact that you decide to use the interface as a "declared" type does not matter, because the compiler decided to use a more specific type for the local variable slot. Try running ILdasm on your dll output, and you can see if it is true. If so, your only option is to actually look at the source code, because the information literally does not exist in the compiled version.
Dan bryant
source share