Pat the pork shoulder dry with paper towels to help the seasoning stick. Trim the fat cap to about ¼ inch but don’t remove it completely.
In a bowl, mix brown sugar, paprika, garlic powder, onion powder, chili powder, black pepper, and kosher salt, breaking up any lumps.
Slice the onion into thick rings and place them at the bottom of the crockpot to add flavor and keep the meat from direct heat.
Massage the spice rub all over the pork shoulder, making sure to coat every part evenly.
Place the pork on top of the onions. Pour chicken broth around the sides (not over the meat) to maintain seasoning.
Cover and cook on LOW for 8-10 hours until the meat is fork-tender and falls apart easily. If still tough, cook for another hour.
Transfer the pork to a bowl and let it rest for 10 minutes.
In a separate bowl, mix BBQ sauce, apple cider vinegar, and Worcestershire sauce for a tangy, rich flavor.
Shred the pork with two forks, removing large pieces of fat.
Drain most of the liquid from the crockpot, leaving about ½ cup. Add the shredded pork back in, mix in the BBQ sauce, and cook on LOW for 30 minutes to absorb the flavors.