Heat oil in a small skillet over medium-high. Add onion; sauté 2 minutes. Reduce heat to medium; cook onion 5 minutes or until soft and caramelized, stirring frequently. Remove from heat; cool 5 minutes.
Combine caramelized onions, 2 tablespoons mayonnaise, garlic powder, pepper, and ground beef in a bowl, stirring just until combined. Gently shape mixture into 4 (1/3-inch-thick) patties.
Heat a grill pan or cast-iron skillet over high. Coat pan with cooking spray. Add patties; cook 3 minutes. Turn patties. Top each with 1 cheese slice; cook 2 minutes or to desired degree of doneness.
Spread ketchup evenly on bottom halves of buns. Spread remaining 2 tablespoons mayonnaise evenly on top halves of buns. Top bottom buns evenly with patties, tomato slices, lettuce leaves, and pickles. Cover with top halves of buns.