It depends on the miner.
They often mine 0 transaction blocks, because it is faster in certain situation.
They often reject some transactions(everybody with a full node can configure, what transactions get in their mempools)
Do they find blocks faster because they were lucky and found the right nonce very fast?
From the way I understand it, it works something like that:
Another pool find a block and sends the hash(without transaction)
Your pool gets the hash, put doesn't know which transactions are in that block, so they can't fill their own new block, since they could theoretically put a transaction in there, that is already in the previous block. So, you tell your miners to work on the empty block.
If the block is found in a short period you just propagate that empty block, if you verified which transactions are in the previous block and which one you can put in your new block, you tell your miners to work on that block.