Preheat the oven to 400 degrees F. Line a baking sheet with aluminum foil.
In a large Dutch oven, place the potatoes and enough water to cover and bring to a boil. Boil until just tender, about 8 minutes. Drain and let cool. Cut the potatoes in half crosswise. Cut a thin slice off the round end of each potato half to stand upright. Using a melon baler, scoop out the centers of the potatoes, leaving a 1/4-inch thick shell. Reserve the potato pulp.
In a medium bowl, combine the potato pulp, cream cheese, sour cream, 1/4 cup bacon, garlic, 1 teaspoon salt and pepper. Mash with a potato masher until well combined. Stir in the Cheddar cheese, Monterey Jack cheese and green onions.
Sprinkle the insides of the potato shells with the remaining 1/2 teaspoon salt. Spoon the potato mixture evenly into the potato shells and top with the remaining 1/4 cup bacon. Place the stuffed potatoes on the prepared baking sheet and bake until lightly browned, about 20 minutes. Garnish with green onions and freshly ground pepper, if desired.