Melt 2 tablespoons of the unsalted butter in a 12-inch cast-iron or other broiler-safe, heavy-bottomed skillet over medium heat. Add 1 ½ pounds thinly sliced yellow onions, 2 minced garlic cloves, 1 tablespoon fresh thyme leaves, ¾ teaspoon of the kosher salt, and ½ teaspoon of the black pepper. Cook, stirring frequently, until the onions have reduced by over half, are very soft, and deep golden-brown, about 30 minutes.
Meanwhile, cut 2 boneless, skinless chicken breasts in half horizontally so that you have 4 thinner pieces. Pat the chicken dry with paper towels and season all over with 1 teaspoon of the kosher salt and the remaining ½ teaspoon black pepper.
When the onions are ready, transfer them to one side of a large plate. Arrange an oven rack 6 to 8 inches from the broiler element. Heat the broiler to HIGH.
Melt the remaining 2 tablespoons unsalted butter in the same skillet (no need to clean) over medium-high heat. Add the chicken and cook until cooked through, browned, and an instant-read thermometer inserted into the thickest part registers at least 165°F, 3 to 4 minutes per side. Transfer to the plate with the onions.
Whisk 1 (14.5-ounce) can low-sodium chicken broth, 2 tablespoons Worcestershire sauce, 2 tablespoons all-purpose flour, and the remaining ½ teaspoon kosher salt together in a medium bowl until combined. Add to the skillet, scrape up the browned bits from the bottom of the skillet, and bring to a boil. Continue to cook until thickened enough to coat the back of a spoon, about 8 minutes.
Remove the skillet from the heat. Return the chicken and any accumulated juices on the plate to the skillet in a single layer. Top the chicken evenly with the onions (about ¼ cup each) and sprinkle with 4 ounces shredded Gruyère cheese (about ¼ each).
Transfer the skillet to the oven. Broil until the cheese is melted and bubbly, 2 to 4 minutes. Garnish with more fresh thyme leaves and black pepper.
