You're changing the meaning here. It was: top up keypool if wallet is already unlocked. Now you're changing it to always make sure the wallet is unlocked and then always topping up the key pool. This makes it impossible to request addresses without giving the passphrase, even if enough addresses are available.