Creating blocks while more transactions arrive and proof of work mechanics
The miner picks what transactions they want to include in the block, out of the ones they have received when they start working on that block, yes. Once they start mining a candidate block, it's usually inefficient for them to add more transactions, so transactions received during the mining process are more likely to be included a block later. Once the block is mined, the list of transactions included in it are broadcast through the network so all nodes can see which ones were included, request any they don't have, and verify its a valid block.

The block header is what is hashed, it contains a version number, merkle root of transactions (basically a cryptographic summary of them all to commit to which ones are included), timestamp, the difficulty target, and the hash of the previous block. See: https://en.bitcoin.it/wiki/Block_hashing_algorithm