Preheat oven to 425 degrees. Line a large baking sheet with parchment paper.
Melt butter in a large skillet over medium low heat. Toss in the sliced onions with a big pinch of salt and pepper. Cook, stirring occasionally, for 15-20 minutes. Increase the heat to medium-high and pour in the beef stock and apple cider. Simmer for 10 minutes until the onions are a deep brown and most of the liquid has cooked off.
While the onions cook, make the squash. Toss the squash in 1 tablespoon of olive oil, brown sugar, chili powder, oregano, cinnamon, cayenne pepper, and a pinch of salt and pepper. Arrange in a single layer on the baking sheet and roast for 20 minutes, rotating the pan halfway through cooking time.
To assemble the sandwiches, butter one side of each bread slice. On the unbuttered side of four of the slices, layer cheeses, onions, and butternut squash. Set a second slice atop each buttered side facing up.
Wipe out the skillet you used for the onions and heat over medium. Set 1-2 sandwiches at a time in the skillet and cook 3-5 minutes. Flip and cook an additional 3-5 minutes. Press down on the sandwich straight after flipping to encourage the cheese to melt. Repeat with remaining sandwiches.