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, and Parmesan in a medium bowl 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 into a log and pinch the seam to seal.
05 - Transfer the log to a parchment-lined baking sheet and form into a ring, pinching the ends together securely. 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.
06 - Cover loosely with plastic wrap and let rise for 30–40 minutes until puffy.
07 - Preheat oven to 350°F. Brush the wreath with beaten egg and sprinkle with poppy or sesame seeds if desired. Bake for 30–35 minutes until golden brown and cooked through. Cool slightly before garnishing with fresh thyme. Serve warm or at room temperature.