Do not really understand if the master private key (mpk) can do this.
Yes, you can derive all your keys using the master private key.
Note that the command
getmasterprivate() in Electrum does not actually return your master private key for BIP39 seed phrases, but rather returns your account extended private key.
For Electrum generated seed phrases, the master private key and the account extended private key are essentially the same thing, since each seed phrase is specific for either Legacy or Segwit, and Electrum derives at m/0 for Legacy or at m/0'/0 for Segwit.
For BIP39 seed phrases, however, they are not the same thing. Your account extended private key can only generate all the individual private keys and addresses in that account. So, for example, if you restore a BIP39 seed phrase to Electrum and select "Segwit", the
getmasterprivate() command will return your account extended private key for m/84'/0'/0'. You will be able to derive all the private keys and address for that Segwit wallet, but you cannot use that account extended private key to derive the legacy wallet at m/44'/0'/0'.
This means that if you export a "master private key" from Electrum and import it in to a BIP39 wallet, you may run in to problems with the derivation path and deriving the wrong set of addresses.