Melt the butter and olive oil in a large Dutch oven over medium-low heat.
Add the sliced onions and kosher salt. Cook for 45 to 60 minutes, stirring every 3 to 5 minutes, until the onions are a deep mahogany brown with a soft, jam-like consistency. If they begin sticking before they're fully caramelized, add 1 to 2 tablespoons of water and scrape up the browned bits.
Stir in the minced garlic and cook for 1 minute, until fragrant.
Sprinkle the flour evenly over the onions and cook for 60 to 90 seconds, stirring constantly until no dry flour remains.
Pour in the white wine and scrape the bottom of the pot to loosen all the browned bits. Simmer until the wine has almost completely evaporated.
Stir in the chicken broth, beef broth, Worcestershire sauce, thyme, bay leaf, and black pepper. Bring to a gentle boil, then immediately reduce the heat to low and simmer uncovered for 25 minutes.
Stir in the cooked chicken and simmer for 5 minutes, just until heated through.
Remove the bay leaf. Remove the pot from the heat and stir in ½ teaspoon of sherry vinegar. Taste and add up to another ½ teaspoon if desired. Adjust the seasoning with additional salt and freshly ground black pepper if needed.
While the soup simmers, toast the baguette slices until crisp and lightly golden on both sides.
Position an oven rack about 6 inches below the broiler and preheat the broiler.
Place six oven-safe soup bowls on a rimmed baking sheet. Ladle the hot soup into the bowls, top each with a toasted baguette slice, and generously cover with the Gruyère and Parmesan cheeses.
Broil for 2 to 4 minutes, watching carefully, until the cheese is melted, bubbling, and deeply golden brown in spots.
Let the soup rest for 2 to 3 minutes before serving. Garnish with fresh thyme leaves or chopped chives, if desired.