Heat the olive oil in a large skillet over medium heat. Add the thinly sliced onions and a pinch of salt. Cook slowly, stirring occasionally, for about 25-30 minutes until the onions are deeply golden and caramelized. Add the minced garlic in the last 2 minutes and sauté until fragrant.
In a separate pan, cook the ground beef over medium-high heat until browned and cooked through. Break into small pieces as it cooks. Drain excess fat and season with dried thyme, oregano, salt, and pepper. Combine browned beef with caramelized onions and stir well.
In a medium saucepan, warm the beef broth with Worcestershire sauce. This will soak into the bread cubes and infuse savory flavor.
Preheat oven to 350°F (175°C). In a baking dish, layer half the cubed French bread evenly on the bottom. Spoon half the beef and onion mixture over the bread. Pour half the warm broth evenly to moisten the bread. Sprinkle half the shredded Swiss and mozzarella cheese.
Repeat layers with remaining bread, beef and onion mixture, broth, and cheese. Press down lightly to help everything settle.
Bake uncovered for 25-30 minutes, until cheese is melted, bubbly, and golden brown on top. Let cool a few minutes before serving.