How does a non-upgraded node read a SegWit transaction? I'm trying to understand how my node would interperet a SegWit transaction if I do not upgrade.                                                                


Even if I do not upgrade, I should be receiving the exact same block data as everyone else, correct?                                                        


If so, let's say my node receives a block that contains a segwit transaction (i.e. one with a [marker][flag] and some [witness] data). I'm not sure how my node is going to interpret the data...                                                                                                                            


If the [marker][flag] is [00][01], does my node read this as being 0 inputs and 1 output, and still consider this transaction valid?                        
If so, how can it go about recreating the TXID from the [version][txins][txouts][locktime] if the transaction data is of the format [version][marker][flag][txins][txouts][witness][locktime]?                                                                                                                    


Basically, I don't understand how my node could receive transactions with [witness] data and still consider those blocks to be valid.
Segwit node will convert transactions and blocks "on-the-fly" while sending them to your non-upgraded node. You will see anyone-can-spend outputs and redeems from such outputs. You will not see any additional flags, witness data and any other segwit stuff.