I did the command
dumpprivkey BITCOIN_ADDRESS_GOES_HERE
and it worked to give me a private key which I could the use to sweep into electrum. All is good. Thank you very much. Appreciate it.
Excellent... glad that you got that sorted.
..but.... from my experimentation the problem is...
1. You will never be able to send a transaction in bitcoin core -qt if this type of address exists. It just wont get into the mempool. Is this a bug?
I don't think so... I've got a mix of legacy, nested and native segwit addresses in my Bitcoin Core wallet... and I don't have any issues sending/receiving transactions.
Given the issues you have had, it seems like your wallet was, for whatever reason, just not synced correctly.
It seems like the wallet.dat had not been updated to reflect the fact that the "3-type" address had been "used" and had received funds. In my experiments, as soon as the "3-type" address was used as a "receive" address, it was listed in both the top section of the
dumpwallet output (with the WIF keys) and in the bottom section of the output (with the 0014 redeem scripts).
I'm not sure why your output only had it in the bottom section... I can only assume that the wallet had not been rescanned correctly.
2. Also you will never be able to create a unsigned send transaction for the same address from an electrum watch only wallet. Is this a bug?
As far as I'm aware you should be able to do this... I have just created an unsigned transaction in an Electrum watching only wallet that contains a funded "nested segwit" imported address (ie. "3-type" address) and I was able to sign it in an Electrum that had the private key for that address...
Unless you mean you were trying to create an unsigned transaction from Electrum and sign it in Bitcoin Core?
But even that should work now that Electrum is generating unsigned transactions in PSBT (Partially Signed Bitcoin Transaction) format.