if you only have the header and you don't know what transactions were in the block you are building on. If you put any translation in it then you risk including a translation from the prev block. If you do that other miners will not validate your block.
here's a visualisation of the above from Magic Byt3:
Mine full block N+1, as tx's in
block N are known. Now a valid
Mine empty block N+1, as do not yet know which tx's are confirmed in block N set of tx's to confirm into
our solution for block N+1
can be constructed
<-------------------------------------------------------------------------------------------------------------------------------------> <--------------------------->>>>>>>>>>>
x milliseconds 3x milliseconds 3x milliseconds
|--------------------|---------------------------------------------------------|----------------------------------------------------------|----------------------------->>>>>>>>>>>
Receive & Receive, then verify Build block template for Attempt solution for
verify new transactions included N+1 as now we know which block N+1, now with
block header in block N transactions are included transactions included
of block N in block N (a full block)
the proportion of the times are wrong, but that's not the most important thing here.