Yes, this is expected behavior. OpenSSL uses DES-EDE3 by default for encrypting the private key in a PKCS12 file. Each time you encrypt it's generating a random initialization vector, which will change the encrypted payload. When you look at the -info output you'll see something like this:
DEK-Info: DES-EDE3-CBC,558C30D119D6944F
The data after the comma is the hex encoded 8 byte salt.