In a multisig setup, all of the xpubs are needed to generate wallet addresses, which may make it seem like revealing one xpub does not reveal any information about the wallet. However (based on poking around on the block explorer) I think the situation is more like the following:
- Each xpub is used to derive a sequence of public keys which are used in the spending script. These public keys are revealed at spending time, so while the full set of wallet addresses/UTXOs cannot be generated from one xpub, someone who knows one xpub could find transactions on the blockchain that spent from the multisig wallet.
- Similarly, using the same xpub in multiple multisig wallets setups means that transactions from the different wallets could potentially be linked together - in particular transactions spending from the same address index in each. e.g. if one setup uses xpub1, xpub2, xpub3 and the other xpub1, xpub4, xpub5, then the spending script for address index k in the two wallets will contain something like (pubkey1k, pubkey2k, pubkey3k) and (pubkey1k, pubkey4k, pubkey5k) - so they are linked by having the same pubkey1k in each.
- The solution to avoiding the above issues would be to use different derivation paths, which would generate different xpubs from the same private key, e.g. using different account numbers in the derivation path for a private vs. collaborative custody setup. (For this reason, revealing a multisig xpub would not reveal info about single-sig wallet and vice versa).