The bug
Chests which have a loot table (i.e. have not been opened by a player) will explode items based on that loot table.
How to reproduce
Create a chest with a loot tag and use the setblock-replace command to replace this with an air block. If the chest has not been generated and still has the loot table tag as confirmed by using data-get-block, the chest will explode random items.
If the chest has been opened by a user and the loot generated, when being overwritten by the setblock-replace, no items will drop as expected with the replace modifier.
Can reproduce in 1.18.1.