If using dried porcini - soak the dried mushrooms in hot water for 20 minutes. Lift them out, chop, and save the soaking liquid. Pour the liquid through a fine strainer or coffee filter to remove grit. Set aside.
Heat a large Dutch oven or heavy pot over medium heat. Add the bacon and cook until it renders and starts to crisp. Scoop out bacon with a slotted spoon and set aside, leaving the drippings in the pot.
Add the pork pieces to the pot (work in batches if needed). Brown well on all sides - this adds a ton of flavor. Remove browned pork to a bowl.
Add the onion to the pot and cook 4-5 minutes to soften. Stir in the fresh mushrooms and cook until they release their moisture and start to brown. Add garlic and cook 30 seconds, just until fragrant.
Stir in the tomato paste and cook 1 minute to caramelize it slightly. Pour in the wine (if using, or 1 cup stock) and scrape up any browned bits on the bottom of the pot.
Add sauerkraut, shredded cabbage, reserved bacon, browned pork, chopped dried mushrooms, bay leaf, paprika, marjoram, allspice, black pepper, and prunes (if using).
Pour in 2 cups stock plus ½ cup of the strained mushroom liquid (if you used porcini).
Bring to a gentle simmer, then reduce heat to low. Cover and cook 1½ to 2 hours, stirring occasionally. Add more stock as needed so it stays saucy, not dry.
Stir in the sliced kielbasa during the last 30 minutes of simmering so it stays juicy and doesn’t overcook.
Remove bay leaf. Taste and adjust, and serve.