This is a limitation of the proxy implementation.
A proxy is basically a dynamic class (object) wrapping the target.
At runtime, all users of the target are accessing the proxy instead of the target. IInvocation.Proceed
will finally forward the call to the target. When the target calls a method on itself,... well the target method is called directly without going through the proxy and the interceptors.
What you can do is adapt your implementation so that you don't need to intercept a method invoked on the target by the target. You could extract that method to another class which you could then proxy and intercept.