try changing to :
Component.For<IDog,DogCat>().ImplementedBy<DogCat>().Named("dog").Interceptors<LoggingInterceptor>(),
Component.For<ICat,DogCat>().ImplementedBy<DogCat>().Named("cat").Interceptors<LoggingInterceptor>()
This should force windsor to use a class proxy. I do agree however with the comment above that your design seems to be flawed. It's been a while since I've used this, so let me know if it doesn't work, then I'll look it up.
Kind Regards, Marwijn