Preheat oven to 400°F (200°C). Lightly grease a 9x12-inch baking dish. Set aside.
Melt butter in a large skillet over medium-high heat. Add onions and season with salt, pepper and half of the fresh chopped thyme. Cook for 5-8 minutes until soft.
Reduce heat to medium and cook, while stirring occasionally, until onions are caramelized and jammy (about 15 minutes). Pour in 1/4 cup of broth if pan gets too dry, and keep stirring until onions are browned.
OPTIONAL: Pour in white wine, sherry or balsamic vinegar to deglaze the pan and get some additional flavours into the onions. Let cook for a minute until the sauce thickens slightly.
Stir in garlic and cook until fragrant, about 1 minute. Turn off heat and let cool slightly.
Cut chicken breasts in half horizontally to create pockets. Season chicken all over and inside pockets with salt, pepper, garlic powder and ground thyme.
Spoon 1-2 tablespoons of caramelized onions into each pocket. Stuff each breast with the cheeses and seal chicken with toothpicks.
Transfer the remaining caramelized onions from the skillet to the prepared baking dish. Mix in remaining 1/4 cup of broth. Set aside.
Heat oil in the same skillet over medium high heat. Sear the stuffed chicken breasts for 4 minutes each side until browned. (They will not be fully cooked. You will finish them off in the oven.)
Arrange chicken on the caramelized onions in the baking dish. Spoon some of the sauce in the dish over each chicken breast. Top with remaining chopped thyme and bake for 15-20 minutes or until fully cooked.
Discard toothpicks. Serve with pan juices and onions.