I understand where normal blocks get stored. They’re passed along and saved by various nodes. What about the extended blocks of a segwit transaction.
This is defined in bip-0141:
This BIP defines a new structure called a "witness" that is committed to blocks separately from the transaction merkle tree. This structure contains data required to check transaction validity but not required to determine transaction effects. In particular, scripts and signatures are moved into this new structure.
The witness is committed in a tree that is nested into the block's existing merkle root via the coinbase transaction for the purpose of making this BIP soft fork compatible. A future hard fork can place this tree in its own branch.
This new structure represents the extended block which is attached to the merkle root of the coinbase.
If a full node doesn't understand SegWit format it won't be able to validate the transaction. But it can accept it as is, just like lightweight clients do.