It's not chronological. The higher fee one will get confirmed before the low fee one. Low fee one will then rejected because it has already spent input.
Not necessarily.
When a node receives the details of an unconfirmed transaction, it adds it to its memory pool. Default behavior of nodes is to reject a transaction if it conflicts with another transaction already in their memory pool, and flag it up as a potential double spend. These nodes will essentially keep whichever transaction they saw first, regardless of the fee. They also won't broadcast this conflicting transaction to other nodes, therefore impeding its dissemination through the network.
One of the two transactions will arrive first at the miner which will mine the next block. This can be down to various things, such as which transaction was broadcast first, which node or nodes it was broadcast to, and luck. Provided it has an acceptable fee, then it will be mined first, regardless of what fee the other transaction has.