There are two instances in which a chest with loot table generates its 'treasure', when its opened or when its broken, and it is expected that these two instances generate the same items if meeting the same requirements.
When you use (like entity_scores, entity_properties) while chests, the conditions work fine. But while chests, these conditions don't work. Other items in the loot table without these conditions are generated anyways.
It seems like forget to grab the data of the entity that broke the chest, unlike that are working fine in this aspect.
For testing this bug I made a loot table and put it into this datapack: test loot table.zip
To get a chest with this loot table:
You will get emeralds if you the chest while sprinting, but not if you the chest while sprinting.
You will get diamonds if you the chest while having "test" dummy score of 0, but not if you the chest while having "test" dummy score of 0.
And you always will get maps because they have no conditions.