Preheat the oven to 350°F (177°C), and coat a 9×13-inch baking dish with butter or nonstick spray to avoid sticking.
In a large pot, bring salted water to a boil, add pasta, and cook according to package instructions until al dente; drain and place in a large bowl.
Melt butter in a large saucepan over medium heat, then whisk in flour and cook for one minute, stirring continuously.
Slowly incorporate the milk while whisking, and continue cooking until the sauce thickens.
Remove from heat and mix in garlic powder, Dijon mustard, and sour cream. Season with salt and pepper to your preference.
Add the sauce to the cooked pasta along with sauerkraut, kielbasa slices, green onions, and two cups of the grated cheese. Stir thoroughly to combine.
Spread the mixture evenly in the prepared baking dish and sprinkle the remaining one cup of cheese over the top.
Bake in the preheated oven for 30–40 minutes, until the cheese is golden and the casserole is bubbling.
Allow the dish to rest for five minutes post-baking before serving, letting the cheese set and flavors harmonize.