Add the potatoes to a pot of cold salted water. Enough water to cover the potatoes by an inch or so. Bring to a simmer and cook for about 25 minutes until tender.
Meanwhile, cook the bacon and remove from pan. Remove excess grease.
Slow cook the onions in the remaining bacon fat until very browned.
When the potatoes are tender, strain them and put them into a large bowl. Mash in the garlic, sour cream, and butter. Add the milk and cream and use a hand blender to blend them to a thick sauce consistency. Taste and season with salt as needed.
Bring a pot of salted water to a boil and cook your noodles. Cook about 5 minutes less than the package says so they are still crunchy. Transfer to a large platter or baking sheet and lightly toss with oil to prevent sticking.
Layer the potato sauce, noodles, onions, and bacon, and cheese in a deep baking dish. I did about 4 or 5 layers. Start with the potato, then noodles, then more potato along with the cheese, bacon, and onion. Repeat until the top noodles. Then just add a thin layer of potato and a final layer of cheese. Only use about ½ of the bacon in the dish, reserving the rest to serve on top so it stays crisp.
Bake about 30 minutes at 350 until hot throughout. Allow to cool for 10 minutes before slicing and serving.
Serve and top with bacon and scallions.
