Soak the dry mushrooms in 3 cups boiling water for at least 30 minutes to help them reconstitute. Once they are plump and juicy, halve or quarter them. You can trim out any tough stems.
Heat ½ tbsp of the oil in a skillet. Add the coriander, cumin, chillies. cardamom, cloves, daga phool and mace if using, cinnamon, peppercorns, poppy seeds and fennel seeds, Roast over medium heat, stirring frequently, until the coriander seeds start changing color and become fragrant.
Add the sliced onion, garlic and ginger and saute until the onions get brown spots. Remove to a plate to cool down.
Without adding any more oil, roast the shredded coconut in the hot pan until some of the shreds turn quite brown but be careful not to burn. Coconut has oils and can burn easily. Place the coconut on the plate with the other roasted spices.
Once the coconut and spices have cooled, add them to the blender with a cup of water (or use a cup of the water you soaked the mushrooms in). Blend into a very smooth paste.
In the same skillet, heat the remaining 1 tbsp of oil.
Add the chopped onions and cilantro with about ½ tsp of salt and cook until the onions begin to brown.
Stir in the potatoes and the shiitake mushrooms. Add the water remaining from soaking the mushrooms to the pot, stir, cover and let the potatoes cook until almost tender. Stir a couple of times while they are cooking to make sure there's some liquid in the pot.
Once the potatoes are almost done, add the crimini or button mushrooms, stir to mix, and then add the ground masala from the blender.
At this point add a cup or two of water or vegtable stock to thin out the curry to your liking. Stir well, check the seasoning and add salt, and let the curry come to a boil. Let it cook, uncovered, over medium-high heat until you see some specks of fat pool at the top, about 10-15 minutes. You can add more water at any point if the curry gets too thick.
Garnish with cilantro and turn off the heat. Serve hot with wedges of lemons to squirt on top of the curry.