Line a rimmed baking sheet with paper towel. Spread the tofu in a single layer on the paper towel and let drain for 20 minutes. Pat beef dry with paper towels.
In a Dutch oven over medium-high heat, warm 1 tablespoon oil until just smoking. Brown beef well on all sides, 5 to 7 minutes, then transfer to a bowl.
In the same Dutch oven, combine remaining 1 tablespoon oil, ginger, and gochugaru and cook over medium heat until fragrant, 30 to 60 seconds. Stir in broth and water, scraping up any browned bits.
Stir in beef and any accumulated juices, rice, and fish sauce and bring to simmer. Cover, reduce heat to medium-low, and cook until beef and rice are tender, 45 to 55 minutes.
Stir in cabbage and mushrooms, return to simmer, and cook, uncovered, until vegetables are tender, about 5 minutes more.
Meanwhile, in a small bowl, toss bean sprouts, scallions, and 1 teaspoon sesame oil together.
Remove the soup from the heat and stir in tofu, vinegar, and remaining 2 teaspoons sesame oil. Season with extra fish sauce to taste. Top individual portions evenly with bean sprout mixture. Serve.