01 - Combine warm milk, sugar, and yeast in a large bowl. Let stand for 5 minutes until foamy. Add flour, salt, melted butter, and egg. Knead by hand or with a mixer for 8-10 minutes until smooth and elastic. Place in a greased bowl, cover, and let rise in a warm place for 1 hour until doubled in size.
02 - Heat butter and olive oil in a large skillet over medium-low heat. Add onions, salt, and pepper. Cook, stirring often, for 25-30 minutes until golden and deeply caramelized. Stir in thyme and balsamic vinegar, cook for 2 more minutes. Remove from heat and let cool.
03 - Combine cooled caramelized onions, Gruyere cheese, and Parmesan cheese in a bowl. Mix thoroughly until evenly distributed.
04 - Punch down the risen dough. On a lightly floured surface, roll out into a 12x18-inch rectangle. Evenly spread the onion-cheese filling over the dough, leaving a 1-inch border. Starting from the long side, tightly roll up the dough into a log. Pinch the seam to seal. Transfer to a parchment-lined baking sheet and form into a ring, pinching the ends together.
05 - Using kitchen scissors or a sharp knife, cut slits two-thirds of the way through the dough at 2-inch intervals around the ring. Gently turn each section slightly outward to expose the filling. Cover loosely with plastic wrap and let rise for 30-40 minutes.
06 - Preheat oven to 350°F. Brush the wreath with beaten egg. Sprinkle with poppy or sesame seeds if desired. Bake for 30-35 minutes until golden brown and cooked through. Cool slightly. Garnish with fresh thyme if using.
07 - Serve warm or at room temperature as an impressive centerpiece appetizer or bread course.