public key generated when importing PK different from original pub key I used bitcoin core (latest 0.19) to create some addresses offline. When I dumped the privkey I was surprised to see all of them starting with L2 (and the addresses with 3), but I went for it. I take note of the private keys/addresses.

Next day, I import one of the privkeys into another bitcoin core wallet, it scans, but the noted address never shows up in my receiving address. But still it added another address to my list (starts with 1B).

So I also added this privkey into an electrum wallet. And surprise, that same address is showing up, not the original one that I got when I created the pair.

What's happening? Is that due to the L2 type?
There are several different types of bitcoin addresses, which can be derived from the same private key. You can see this question for some more info about the different types.

So it sounds like your bitcoin-core wallet is creating P2SH-P2WPKH addresses, but then when you imported it into other wallets, they are deriving a P2PKH address. 

So the fix is to instruct the wallet that you are importing the address to, to derive the correct address type. Not every wallet will be able to do this, but some of the more feature-rich options out there should be able to do so.