Heat 2 tablespoons butter in a large Dutch oven over medium heat. Add 12 ounces sliced kielbasa, toss to coat then cook, stirring occasionally, until browned, about 8 minutes. Using a slotted spoon, transfer to a plate.
Add 1 diced onion and 2 diced carrots, season with 1 teaspoon salt and cook until starting to soften and brown, about 8 minutes. (The veggies should pull up all the fond.)
Add 1 tablespoon garlic and 1 teaspoon caraway seeds and cook 2 minutes.
Stir in 4 cups chopped cabbage and ⅓ cup dill and cook 1 minute.
Stir in 6 cups broth and bring to a simmer; cook until vegetables are tender, about 10 minutes.
Meanwhile, cook pierogi in a skillet according to package directions. (I like to cook frozen pierogi in both butter and oil—a scant tablespoon of both).
Stir browned kielbasa (and any drippings) and 2 teaspoons vinegar into soup and season to taste with salt and pepper.
Divide soup between bowls then top each with 3–4 pierogi.