In a large Dutch oven, heat oil over medium-high heat until shimmering. Pat beef dry with paper towels and sprinkle all over with salt and pepper. Cook half of beef until browned on all sides, 4 to 5 minutes, adjusting heat as necessary to avoid burning. Transfer browned beef to a plate, then repeat with remaining beef.
Add onion, diced carrots, garlic, and salt and pepper to Dutch oven, and cook, stirring occasionally, until beginning to brown, 5 to 7 minutes. (If bottom of pan begins to look overly brown, add a splash of water and use a wooden spoon to scrape fond from bottom of pan.)
Add flour and cook, stirring frequently to coat vegetables, until no dry flour remains and flour begins to turn golden, 1 to 2 minutes. Stir in tomato paste. Add wine, broth, soy sauce, thyme, bay leaf, and fish sauce (if using), stirring to incorporate. Bring liquid to a boil, then reduce heat to medium-low.
Return beef to pot. Reduce heat to low, cover, and gently simmer, stirring occasionally, until beef is very tender and broth has thickened enough to coat the back of a spoon, 1 ½ to 2 hours. (If broth seems watery, simmer, uncovered, until thickened, 5 to 10 minutes. Keep in mind that broth will continue to thicken in the oven. If broth seems too thick, add a small splash of water to thin it out.) Remove from heat; skim off excess fat, if desired.
Adjust oven rack to middle position and preheat oven to 400°F (205°C).
Heat a 10-inch cast iron skillet over medium heat. Add bacon and cook, stirring occasionally, until fat has rendered and bacon is golden and crisp, about 7 minutes. Using a slotted spoon, transfer bacon to stew. Discard all but 1 tablespoon of fat.
Increase the heat to medium-high and add the mushrooms to skillet with bacon fat. Cook, stirring occasionally until well-browned, about 10 minutes. Add remaining sliced carrots and cook until just tender and beginning to brown, 5 to 7 minutes more.
Pour stew into the cast iron skillet and mix to evenly incorporate vegetables. Let sit while you prepare the dough.
On a lightly floured surface, roll puff pastry sheet to an 11-inch square. Carefully place on top of beef filling; fold excess dough underneath itself and crimp as desired just below rim of skillet so it's flush with the skillet's edge. Using a sharp paring knife, cut three small slits into top of pastry. Using a pastry brush, lightly brush dough with beaten egg.
Bake until pastry is puffed, golden brown, and crisp, 20 to 25 minutes. Let cool for 5 minutes before serving.
