Start out by halving the onions through the root end, trim, peel, and slice 1/4 inch thick.
Heat the butter and oil in a nonstick skillet over high heat. Stir in sugar and 1/4 tsp salt.
Add onions and stir to coat. Cook the onions, stirring occasionally until they begin to soften and release some moisture, about 5 minutes.
Reduce heat to medium and cook stirring frequently, until onions are deeply browned and slightly sticky, about 40 minutes.
This is where things can get a little tricky depending on how hot your stovetop runs. Mine can get pretty hot so I actually started at medium-high heat and gradually reduced to medium, medium-low. If the onions start sizzling or scorching then you’ll want to reduce the heat. You also want to make sure that the heat is high enough, too. If they aren’t browning about 15 - 20 minutes then you’ll want to raise the heat.
Remove the onions from the heat, stir in water, and season with pepper to taste.
Cook bacon until crispy. Using a slotted spoon, transfer the bacon to a paper towel-lined plate. You can do this while the onions are cooking.
Combine sour cream, scallions, vinegar, caramelized onions, and bacon in a medium bowl. Season the dip with salt and pepper to taste and serve.