It's to allow easy e-core p-core thread migrations in the OS. They probably weren't intending the p-cores to be matched with e-cores when the RTL was being initially written for the p-cores, which would have been a few years ago.
Very good point. I guess they both cores have to have identical ISAs as they don’t know which instructions will be needed at the point at which they’re deciding which core to use.