How do bitcoin nodes agree who first mined ablock? Once transactions are broadcast and a node starts working on a proof of work, and finds it, it broadcasts it to all other nodes for that block to be verified and added onto their blockchain. All nodes agree to add another transaction that mints a certain amount of bitcoins to the miner. 

However, I am confused about what protections there are against a bitcoin node receiving a proof of work for a new block that it did not find itself, and then sending the that block around as though it mined it!

How do bitcoin nodes who originally mined a block and how does the bitcoin system prevent tampering with this?
All nodes agree to add another transaction that mints a certain amount of bitcoins to the miner. 


No, every miner already includes the transaction that pays them in their own block template. Whatever miner succeeds pays themselves by means of their block being the winner.


  However, I am confused about what protections there are against a bitcoin node receiving a proof of work for a new block that it did not find itself, and then sending the that block around as though it mined it!


All data in the block is committed to cryptographically via hashes and signatures. The proof of work is based on the hash of the block header, which in turn commits to all transactions via the Merkle root. To claim the reward, one would need to change the output of the Coinbase transaction to send the reward to someone else instead of the miner. This would make the Merkle root that commits to all transactions invalid. So they'd have to change the Merkle root. Well, that would change the block header and make the proof of work invalid. This means that another user can't redirect the block reward, because the instruction to pay out the block reward is protected by the proof of work. If you change a single byte in the block, it's no longer valid.