Just to be sure.
Theres an extra segwitwitness field in transactions but the scriptSig is empty. Old nodes don't get the segwitwitness in the tx, its dumped down. And the hashed transaction without the witness data is the txid (which prevents changing of sig and txid). Nodes with segwit have have a different hash of tx but the txid is the same?
There is a new field called "witness" added to transactions that have at least witness and the signature script content depends on type of the output being spent. For native SegWit inputs version 0 it is empty, for nested SegWit inputs it has to be a special redeem script.
It is simplified for old nodes by removing the witness from transactions.
The transaction ID is calculated using the stripped down version (witness removed) both for backward compatibility and to mitigate some malleability issues.
The transaction ID/hash that is used in inputs is the stripped down hash. The "witness transaction ID/hash" is the hash of the entire transaction with its witnesses and is only used in merkle root computation for commitment in coinbase transaction.