Creating a multisigaddress using public key from 2 different wallets or using public key from 1 wallet only? Which one is correct? Given 2 scenarios, 


I used the command [addmultisigaddress] to create a multisigaddress using public keys from walletA only. When I run this command [listaddressgroupings], I'm able to see that this address is one of the account in walletA. Running the [validateaddress] command will show that this multisigaddress belongs to walletA.
I used the command [addmultisigaddress] to create a multisigaddress using public keys from walletA and walletB. Let's say 2 public keys from walletA and 1 public key from walletB. When I run this command [listaddressgroupings] for both walletA or walletB, this address is not listed in either of the wallets. Running the [validateaddress] command for both walletA or walletB show that this multisigaddress doesn't belong to either one of them.
This is (unfortunately) the correct behavior in Bitcoin Core. This is due to how the wallet is structured and what it determines to be part of the wallet.

In order to be able to have the multisig address be "part" of your wallet, you need to import it using importmulti or importaddres. That way it will be added as a watch only address so the wallet will track transactions to and from it.