Melt 2 tablespoons of butter in a large pot or Dutch oven over medium heat. Add the diced onion and celery, cooking for 5-7 minutes until softened. Stir in the minced garlic and cook for another minute until fragrant.
Sprinkle the flour over the vegetables and stir constantly for 1-2 minutes to cook out the raw flour taste. Slowly pour in the beef broth while whisking to prevent lumps from forming.
Add the diced potatoes and caraway seeds to the pot. Bring the mixture to a boil, then reduce the heat to low, cover, and simmer for 15-20 minutes, or until the potatoes are fork-tender.
While the soup simmers, prepare the croutons. Toss the rye bread cubes with the remaining 2 tablespoons of melted butter. Toast in a skillet over medium heat or bake at 375°F (190°C) for 10 minutes until crispy.
Once the potatoes are tender, stir in the diced corned beef and drained sauerkraut. Simmer for 5 minutes to heat the meat through.
Reduce the heat to the lowest setting. Stir in the half-and-half and shredded Swiss cheese. Stir gently until the cheese is completely melted and the soup is creamy. Do not let the soup boil after adding the dairy.
Season with salt and black pepper to taste. Ladle the hot chowder into bowls and top generously with the rye bread croutons before serving.