Cook bacon in a skillet over medium heat until crisp. Drain on paper towels.
Stir mayonnaise with black pepper and garlic powder in a small bowl.
Slice the tomato and pat dry. Shred the lettuce and set aside.
Spread butter on one side of each bread slice.
Warm a skillet over medium-low heat. Place two slices butter-side down. Layer cheese, tomato, and bacon, then top with more cheese. Cap with remaining bread, butter-side up.
Grill until the bottom is golden and cheese starts melting, 3–4 minutes. Flip and toast the other side until melted and crisp, 2–3 minutes.
Open sandwiches slightly. Spread the mayo mixture inside, add lettuce, and season with a pinch of salt. Close, rest 1 minute, slice, and serve.