Is this the highest number of transactions in a block until now?
The highest number of transactions in a block is 12239 in block 00000000000000001080e6de32add416cd6cda29f35ec9bce694fea4b964c7be at height 367853.
What are the things that affect the number of transactions possible in a block?
Besides the block size/weight limit, the primary thing that affects how many transactions can fit in a block is the size of the transactions themselves.
When a transaction is added, it takes up space that other transactions could make use of. So the smaller a transaction is, the more transactions can be included in a block. If we look at the winning block, we see that the transactions in it tend to be very small, measuring 81 (v)bytes on average, compared to the 2-300 vbytes in the blocks that you mentioned.