Add the dried shiitake mushrooms to a medium bowl and pour in enough water to cover. Cover with a dish towel and let hydrate for 8 hours, then rinse and drain the mushrooms 2-3 times. Set aside.
In a large pan over medium heat, dry sear the onions until caramelized on both sides, 10-15 minutes. Transfer to a bowl and repeat with the daikon radish and ginger. Set aside.
Heat the oil in the pan. Add the oyster mushrooms and sauté until browned and caramelized, 6-8 minutes.
Add the caramelized onions, daikon, ginger, oyster mushrooms, and soaked shiitake mushrooms to a large stock pot. Add the water and bring to a boil over high heat. Reduce the heat to low heat and cover. Simmer for at least 1 hour, or up to 8 hours. The longer it cooks, the stronger the flavor of the broth will be. Season with salt to taste.
About 30 minutes before serving, combine the cinnamon stick, cloves, cardamom, star anise, coriander, and fennel in a fine-mesh sieve. Lower into the pot, resting the sieve on the edge, then cover and simmer for 15 minutes.
Remove the spices and add the tofu to heat through, 10-15 minutes.
Remove the pot from the heat. Remove the onions, daikon, and ginger from the pot. (Slice and add them back to the soup, if desired.)
Add the noodles to serving bowls and ladle in the broth, mushrooms, and tofu.
Garnish with red onion, bean sprouts, chili peppers, a squeeze of lime, and cilantro.