One question: How to enable HD mode?
In Bitcoin Core 0.13.0+, HD wallets are enabled by default and created by default. If your wallet was created in a version of Bitcoin Core 0.13.0+ and you did not start Bitcoin Core with
-usehd=0, then your wallet is a HD wallet.
And another one: what do you mean by this: "older backups will not know about those witness addresses (the scripts themselves must be added to the wallet) and addwitnessaddress will need to be called again on every single address generated." So, if my wallet.dat has funds on a single witnessaddress and I move the wallet.dat to another node, I won't see there the witness address? If so, do I have to remember the non witness address I used to generate a specific witness address?
No, the addresses will follow the wallet file, not the software.
Suppose you make a backup, then generate a new address and use addwitnessaddress on it, and then receive coins at both the witness address and the regular address. If you were to restore the backup, you will see the coins that were sent to the regular address, but not the ones sent to the witness address. Furthermore, you wouldn't see the witness address in your wallet and would have to call addwitnessaddress again to add it to your wallet. Then you may also need to rescan. This should be fixed when full segwit wallet support is completed in Bitcoin Core.