How does a miner choose which transactions go into the next block? How does a miner choose which transactions go into the next block?
Do all transactions go through or is there a lottery process? I understand transactions with higher fees are given priority.
A miner can choose whichever (valid) transactions they’d like to include in a block, for any reason they’d like. 


  I understand transactions with higher fees are given priority.


Generally, yes, we would assume a rational miner would maximize the amount of fees they can possibly obtain. But this is not mandatory.