Whisk all sauce ingredients until smooth; chill while you cook.
Melt butter with olive oil in a skillet over medium heat.
Add onions and a pinch of salt. Cook, stirring often, until deeply golden, 12–15 minutes. Transfer out.
Mix beef with Worcestershire, remaining salt, and pepper. Form four thin patties, slightly larger than bread.
Heat a griddle or large skillet over medium-high until hot.
Sear patties 2–3 minutes per side until browned and just cooked. Keep warm.
Spread one side of each bread slice with softened butter.
Lay four slices butter-side down. Spread sauce on each. Top with Swiss, a patty, onions, and American cheese.
Spread sauce on remaining bread. Cap sandwiches, butter-side up.
Cook sandwiches over medium-low, pressing lightly, 3–4 minutes per side until golden and melty.
Rest 2 minutes. Slice and serve with extra sauce for dipping.