It might be possible to invoke AppDomain.Id on the new (proxy) object, use mono_domain_get_by_id to get the MonoDomain*, then invoke AppDomain.CurrentDomain to get the real AppDomain object in that domain.
BTW, I think I made a mistake when I added the domains list. We should probably just rely on Mono to keep track of domains (other than the default domain), so we can be aware of domains created by calling AppDomain methods directly.