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 ¼-inch thick shell. Reserve the potato pulp.
In a medium bowl, combine the potato pulp, cream cheese, sour cream, ¼ 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 ½ teaspoon salt.
Spoon the potato mixture evenly into the potato shells and top with the remaining ¼ 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.