1) How many accounts can I set up? Only ten, (0-9)?
Theoretically... You can have as many as you like. The 10 account "limit" is simply a UI limitation on wallet.trezor.io... it's not a technical limitation. These accounts are not "stored" within your Trezor device etc... they are based on the "account" number value in
the derivation path structure: m / purpose' / coin_type' /
account' / change / address_index
2) Can I use the same seed to create or "restore" wallets with different derivation paths to create different wallet types? For example: can I have a native segwit, a nested segwit, and a legacy wallet all backed up by the same seed? And are these the correct derivation paths that I would use:
m/44'/0'/0'/0 (p2pkh)
m/49'/0'/0'/0 (p2wpkh-in-p2sh)
m/84'/0'/0'/0 (p2wpkh bech32)
SIDEBAR: That last 0 in each of your paths is probably best left off...
according to BIP44 (see above) that is the "change" value... 0 = receiving addresses, 1 = change... however, generally most wallets expect a path that "ends" at the account level... and will automatically add the "change" and "index" levels as required
As for what you can create, well you can actually "create" whatever you like... in whatever combination you want...
So you can "create" a wallet that generates Native Segwit, using a derivation path of m/0' or a wallet that generates Legacy addresses, using a derivation path of m/49'/0'/0' or anything other combination of script type and derivation path that you like.
Electrum simply stores the derivation path and determines the script type based on the xpub "type"... ie. xpub = P2PKH, ypub = P2SH-P2WPKH and zpub = P2WPKH
"keystore": {
"derivation": "m/0'",
"hw_type": "trezor",
"label": "............",
"type": "hardware",
"xpub": "xpub67...............mtZ"
},
"keystore": {
"derivation": "m/44'/0'/0'",
"hw_type": "trezor",
"label": "............",
"type": "hardware",
"xpub": "zpub6re.............S3z"
},