Last time I used MIDI is 20 years ago, so I may be wrong, but sending MIDI and playing MIDI on iOS are two different things. When playing MIDI on a PC or tablet, the operating system uses a software synthesizer that takes the MIDI data and converts it to audio. For this to work, it needs to be able to look ahead in the data to synthesize it "just in time". It's not a fully fledged musical instrument, so you need to send the whole file - not a single MIDI packet.
As OSC is just a data transmission protocol, it can be used to transmit any kind of data over the network. The name "Open Sound Control" gives away that it was designed as an alternative to MIDI, which is why the protocol defines a standard(*) way to transmit a MIDI packet. When you receive MIDI data, you still need to process it on the other end. You could for example send it to a digital piano connected through USB or a MIDI cable. See this article for more info.
(*): officially, MIDI is not part of the OSC v1.0 protocol, but is defined as an "extension", see: http://opensoundcontrol.org/spec-1_0