loot respawn only works for containers that don't change to the new state, open.
So shelves would not restock with loot with the Loot Respawn Days setting. If you want shelves to restock, you need to enable the new function, chunk reset
Where it states destroy_on_close="empty", having a modlet that changes those from empty to false would keep them as a lootable container. Then the loot respawn should affect them since they stay in that state
destroy_on_close options:
empty - changes to empty model, does not respawn loot (some models will destroy like birdnests)