The different stores are “inconsistent” because they have different needs. You would be slowing your game down if when you tried to look for equipped weapons, you had to crawl through the entire store of items, determine which ones were equipped, etc.
The Equipment Store needs to index by the EquipLocation.
The Action Store and the Inventory do both use similar numbered slots, but they serve entirely different purposes. The Action Store needs to hold only Action items. Trying to sort out which items are in slot 0, 1, 2, 3, etc in the UI when they’re all in one big single data store would be possible, but a programming nightmare.