What's the segwit transaction serialization "flag" field for?
Found it in bip 144:


  Rationale for the 0x01 flag byte in between: this will allow us to easily add more extra non-committed data to transactions (like txouts being spent, ...). It can be interpreted as a bitvector.


So the 0x01 flag is indicating that the witness data should be included in the (bip144) transaction serialization.