Melt 1 tbsp butter in a skillet (I used 2 skillets so I could cook the sandwiches more quickly) over medium until foaming. Add 2 bread slices and cook, moving the bread around a little to absorb the butter. Cook until golden brown, about 3 minutes. Transfer to a baking sheet, cooked side up and tear up the American cheese into pieces and cover the bread. Repeat as needed until you've used half the bread.
Repeat this with more butter, the rest of the bread and using the swiss cheese, so you have half the slices covered in american and half in swiss.
Season the burger patties on both sides with season salt, pepper, onion powder and garlic powder. Heat skillet to high and add 1 tbsp butter. Swirl until light brown then add the burger patties. Cook without moving until a dark brown crust forms on them, about 1.5 minutes. Reduce the heat if the butter begins to smoke excessively.
Flip the burgers and cook on the other side until a crust forms, another 1 1/2 minutes or so. Transfer burgers to a tray and reduce heat to medium.
Add the onions, 1 tbsp butter, and 2 tbsp water. Cook, stirring constantly, until the water evaporates and the onions start to brown. Add 2 more tbsp of water and repeat, scraping up the browned bits from the bottom. Do this a few more times until the onions are soft and deep golden brown.
If there are any meat juices collected from the patties on the tray, add them in. Cook until the liquid evaporates and the onions are still moist but not too wet.
Divide the onions onto the bread and top with patties. Place the other piece of bread on and close the sandwiches.
Heat another tbsp of butter in the skillet over medium and allow the butter to melt. Add the sandwiches and cook until deep golden brown, about 5 minutes. Flip and repeat. Get the cheese good and melted. Sprinkle with a little salt, cut into halves and serve.