How is loot expected to work? Based on the stated design goals, randomness and grinding are to be avoided (which is something I fully cheer, btw), but those are the classic elements of loot systems.
One thing I would like to see is enemies with predictable loot drops. A dragon will drop dragon scales, a human will drop their weapon, etc. If I want to get dragon scales, I would "just" need to seek out and slay a dragon, and collect them. I like it when collecting items can be very deliberate. Its fine if I have to work for items, maybe even travel to different regions to collect items from different foes, but its annoying to go through the work of getting an item only to have it not drop.
The tricky thing is even if the loot for a given enemy is predictable, finding that enemy is going to be up to chance in a procedurally generated world. Maybe this doesn't matter for the basic mooks as there will be so many of them you can't help but find them, but rarer enemies could become annoying to track down. I am picturing trying to find slimes in minecraft. You are liable to run into them eventually from luck, but if you actually want slime for something specific you have no real way to track them down and get it.
One way to counteract this could be to use the NPCs. If you want to track down a dragon, maybe asking people if they have heard of any dragons could lead you to one. Similarly, for chest-based loot, like a powerful magical item, there could be a legend system indicating where it may be found. This gives the player the agency to seek out the legend and track down the item, while also letting them wander around and explore and find whatever they stumble across. If basic enemies are tied to biomes or regions, you could ask NPCs where those regions are, or look at a map of the world. So, say I want zombie brains for something, I can find out that zombies are in swaps, and there is a swamp to the south, so I can journey south to get my zombie brains.