In the example TestingInnerOuter2, my understanding is that when declaring an inner outer component it behaves as an outer in its scope, but as inner for its subcomponents. Seems like the problem here is that the modelica compiler is expecting to receive a binding for the outer part of the component. Thats why your example TestingInnerOuter3 works.
In example TestingInnerOuter_3, its not clear to me whats the value that submodel.x and submodes.y should display. To any submodel containing an outer the values seen should be the negative, but in its own context they should be the positive. Seems like the SimulationCenter is picking the first case.
Regarding your Update 1, every time that theres a component declared as outer (no matter if its inner as well), when a matching inner is not found, the warning is displayed.
Your Update 2 example seems to be a bug because is reported as an Internal Error. Im not sure why this is happening.
All your examples have been sent to the developers.