Heat the oven to 400°F. Scrub russet potatoes, prick each a few times, set directly on the rack, and bake until very tender when pierced, 60–75 minutes; let cool 15 minutes.
While the potatoes bake, cook bacon in a large heavy pot over medium heat until crisp, 8–10 minutes; transfer pieces to a paper towel–lined plate to reserve for serving, leaving about 2 tablespoons drippings in the pot.
Add unsalted butter to the pot and melt over medium heat.
Add yellow onion and cook, stirring, until translucent and softened, 5–7 minutes; add garlic and cook until fragrant, 30 seconds.
Sprinkle all-purpose flour over the onion mixture and cook, stirring, until foamy and blond, 1–2 minutes.
Gradually whisk in low-sodium chicken broth until smooth, scraping the bottom, then bring to a gentle simmer.
Whisk in whole milk and heavy cream and return to a bare simmer.
Split the baked potatoes, scoop out the potato flesh, roughly mash half of it with a fork, and add all of it to the pot; simmer, stirring occasionally and mashing to your preferred texture, 10–15 minutes.
Remove from the heat and stir in sharp cheddar cheese, reserving about 0.5 cup for serving, then stir in sour cream until fully melted and smooth.
Season with kosher salt and black pepper to taste; if the soup is too thick, adjust with a splash of broth or milk, and rewarm gently without boiling.
Ladle into bowls and top with the reserved pieces and reserved cheese; finish with scallions.