In a microwave-safe bowl, combine the shredded chicken, cream cheese, hot sauce, diced onion, and garlic powder. Microwave for 30-45 seconds, stirring halfway through, until the cream cheese is fully melted and the mixture is warm and well combined. The filling should be creamy and spreadable; if it's too thick, you can add a splash more hot sauce to reach the right consistency. Set aside to cool slightly while you prepare the bread.
Lay out 4 slices of bread on a clean work surface. On each slice, layer one slice of American cheese, then a generous portion of the buffalo chicken filling from Step 1, then another slice of American cheese. Top each with a second slice of bread to create 4 sandwiches. I like to press down gently on each sandwich so the layers stay together during cooking—this helps everything meld into one cohesive bite.
Lightly spray both sides of each assembled sandwich with cooking spray. Heat a large skillet or griddle over medium-high heat (around 375°F if using an electric skillet). Once hot, carefully place the sandwiches in the pan and cook for 2.5-3 minutes until the bottom is golden brown and crispy. Flip each sandwich carefully and cook the other side for 1.5-2 minutes until equally golden. The cheese should be melted and oozing between the layers. Transfer the cooked sandwiches to a serving plate and let them rest for 1 minute so the cheese sets slightly.
While the sandwiches are still warm, carefully slice each one in half diagonally if desired. Tuck fresh lettuce leaves and tomato slices inside each sandwich or alongside it on the plate. The warm, melted cheese and crispy bread contrast beautifully with the cool, fresh vegetables. Serve immediately while the bread is still crunchy and the filling is warm.