PUN2 requires to obtain an inactive instance. The way it is written in pure pool now is (1. instantiate from prefab 2. turn off the instance). It is incorrect because if the instance is instantiated from an active prefab, it is at that moment active and its Awake() and OnEnable() etc is called immediately.
The correct way is (1. turn off the prefab if it is active 2. instantiate from prefab 3. turn the prefab active if it was active). The instance is then inactive and will not call those unity lifetime functions.
sidenotes: PUN2 requires inactive instance because it may add PhotonView and then initialize it with id, ismine etc informations. After that, it will activate the instance, so by the time we are in Awake() and OnEnable(), the photonView.isMine and other info is there.
With pure pool current behaviour, the awake and onenable is called without photon have a chance to populate the required info.