MiSeq MSR does not put indexes in header but the index_rank (row). If the index used is not found in the sample sheet, it put a 0 (the last :0 in the header of the undetermined_reads.
With bcl2fastq you can ask to have the indexes written as a FASTQ with option `--create-fastq-for-index-reads
You can set MiseqReported to produce the fastq of the indexes modifying the MiSeqReporter.config with:
<add key="CreateFastqForIndexReads" value="1" />
If you want to explore the indexes in the undetermined to see if you have mispelled an index in the sample sheet and you are loosing this sample in the demultiplexing, there is a file in the flowcell folder where are recorded all the index found an how many tiems they where found (you can acces this data also from the MSR) but I can not remember the path right now (this file is different in MiSeq and in NextSeq500).