Pat the short ribs completely dry with paper towels, then season all sides generously with 1 tsp kosher salt and 1/2 tsp black pepper. Heat 2 tbsp neutral oil in a Dutch oven over medium-high heat until shimmering, then sear the ribs in batches for 3 to 4 minutes per side until a deep brown crust forms on all sides. Transfer to a plate and set aside.
Reduce the heat to medium and add the 3 smashed garlic cloves to the drippings, cooking for 60 seconds until fragrant. Pour in 1 cup of red wine and scrape up all browned bits from the bottom, letting it reduce by half (2 to 3 minutes), then add 4 cups of beef broth, the thyme sprigs, and rosemary sprig.
Return the seared short ribs and any accumulated juices to the Dutch oven, place the lid on, and transfer to a preheated 325°F (160°C) oven. Braise for 2.5 to 3 hours until the meat is fork-tender and pulling away from the bone, adding a splash of broth halfway through if the liquid level drops significantly.
While the ribs braise, melt 4 tbsp butter with 1 tbsp olive oil in a large skillet over medium-low heat, then add all the sliced onions, 1 tsp salt, and 1 tsp sugar. Cook, stirring every 5 to 10 minutes and adding splashes of water if they stick, for 45 to 60 minutes until deep golden, very soft, and reduced to about a quarter of their original volume. Add dry sherry if using and stir for 1 minute.
Remove the short ribs from the Dutch oven and strain the braising liquid through a fine mesh strainer into a large bowl, discarding the solids. Let the broth rest for 5 minutes, then skim off the surface fat with a spoon or use a fat separator.
Once cool enough to handle, use two forks to pull the short rib meat from the bones, discarding the bones and any large pieces of fat. Shred the meat into large, rustic chunks and set aside.
Melt 2 tbsp butter in the Dutch oven over medium heat, whisk in 1 tbsp flour, and cook for 1 minute, then pour in 1/2 cup white wine and whisk until smooth. Add the strained braising broth, 4 to 5 cups additional beef broth, the caramelized onions, shredded short rib meat, Worcestershire sauce, and thyme leaves. Simmer for 10 to 15 minutes, then season to taste with salt and pepper.
Arrange the baguette slices on a baking sheet and broil on high for 1 to 2 minutes per side, watching closely, until golden and lightly toasted on both sides. Remove and set aside.
Ladle the hot soup into oven-safe bowls, float 2 to 3 toasted baguette slices on top, and cover generously with the grated Gruyere (and Swiss if using). Place the bowls on a baking sheet and broil on high for 2 to 4 minutes until the cheese is fully melted, bubbling, and golden. Serve immediately.