So if you submit a transaction and it hasn't been confirmed yet, that means it's not on the blockchain right?
Does this mean that when you visit those block explorers (like blockchain.info etc) and you view the unconfirmed transaction, they are pulling the info from their node's mempool?
Yes, they are pulling the info from their mempool, which is why it may be available on one site but not another.
When a bitcoin transaction is made, the transaction is broadcast to other nodes peered to it, then these nodes relay the transaction to other nodes etc until all nodes have it in their mempool.