You are just reading the bits in wrong order.
You should enable UART frame decoding.
MIDI uses standard UART framing of 8 data bits, no parity, and 1 stop bit. at bit rate of 31250. UART also sends least significant bit first and most significant bit last. The line idles high, start bit is low and stop bit is high.
Therefore, 0x90 0x60 0x7F is Note On on Channel 0, note 0x60, velocity 127.
In binary it looks like:
S00001001P S00000110P S11111110P
I used S for low start bit and P for high stop bit. There can be arbitrary amount of idle high time between stop bit and the next start bit. Your logic capture may also have too low sampling rate so see the bits accurately, it looks slightly inaccurate (or the note number is not really 0x60).
The Note Off is:
S00000001P S00000110P S00000000P
Edit: The note number is not 0x60. It's 0x3C or 60 in decimal. The transactions are as follows:
S00001001P S00111100P S11111110P
S00000001P S00111100P S00000000P