на мой взгляд то, что Вы написали первое
this.expDate = new DateTime((long) ((uint) outputBuffer[9] << 24 | (uint) outputBuffer[8] << 16 | (uint) outputBuffer[7] << 8 | (uint) outputBuffer[6]) << 32);
не то же самое что написали после "или" (так как в конце идет сдвиг влево на 32)
Как мне кажется вторая запись эквивалентна вот этой:
uint num2 = (uint) (outputBuffer[9] << 0x18); // outputBuffer[9] = 8
num2 |= (uint) (outputBuffer[8] << 0x10); // outputBuffer[8] = 208
num2 |= (uint) (outputBuffer[7] << 8); // outputBuffer[7] = 128
num2 |= outputBuffer[6]; // outputBuffer[9] = 34
8*2^24 + 208*2^16 + 128*2^8 + 34 = 00001000110100000000010000100010