In a large oven-safe pot or Dutch oven, sauté bacon in butter over medium heat until crisp and browned (about 3-5 minutes). Remove bacon with a slotted spoon and set aside.
Pat pork shoulder dry with a paper towel.
Place the flour in a bowl or large Ziploc bag and season with about ½ teaspoon of kosher salt and ½ teaspoon of pepper. Add the pork shoulder and toss to coat well. Remove coated pork from the bowl and discard any extra flour.
Sear pork shoulder in the butter/bacon fat until browned on all sides (about 5 minutes). Depending on the size of your pot, you may need to work in batches so that the pork can brown without overcrowding.
Remove the pork from the pot with a slotted spoon.
Add the sausage to the pot. Cook, stirring occasionally, until the sausage is lightly browned, about 5 minutes. Remove the sausage from the pot with a slotted spoon.
Add the wine (or apple cider) and vinegar. Cook over medium-high heat, scraping the pan with a wooden spoon to loosen any browned bits.
Add the bacon, pork, and sausage back to the pot, along with the tomato paste, garlic, 1 teaspoon of kosher salt, ½ teaspoon of pepper, rosemary, thyme, bay leaf, paprika, and broth. Stir well to completely combine. Bring to a boil; then reduce to a low simmer.
Cover and cook, stirring occasionally, until the pork is tender, about 1 - 1 ½ hours. You can tell the pork is ready when it’s tender and pulls apart easily with a fork.
Add the onion, carrots, and celery and simmer, covered, for 10 minutes.
Add the beans and mushrooms and simmer, covered, until the vegetables are tender, about 30-40 more minutes. Add more broth at the end to thin the stew, if necessary. Discard bay leaf; season with additional salt and pepper, to taste. Ladle into bowls and serve.