My understanding is that currently you could do that. It would require to be patient to be able to send your transaction because the moment when you are lucky enough to mine a block is not predictable. But with enough hashpower you could try and expect your transaction do be mined. I looked at some node code and I can't see anything preventing this. It did not investigate all clients though.
However, with the still in progress EIP-1559, the introduction of base fees will require a transaction to at least pay the base fees. The premium could be set to zero but the base being defined by the network, there's very little change (just not to say none) that the base reaches zero. Or it would mean the end of the network...
EDIT: Note that even if it is technically possible for a miners to send "free" gas transaction on their own mining node transaction pool, these transactions will take the place of other transactions that would have non zero gas price. So even if the miner is sending free transactions, the reward for the block will be lower and it's like the gas price paid by the miner would be what the gas price would have been paid by someone else. You can't predict it exactly, but you can evaluate that by sending the zero gas price transactions, the miner is paying the mean gas price for this block.
So it's technically possible but totally useless.