Make the BBQ rub. In a small bowl, combine the brown sugar, salt, garlic powder, onion powder, paprika, cumin, cayenne pepper, and black pepper.
Season the pork. Pat the pork shoulder dry with paper towels, then generously rub the seasoning mixture all over the pork.
Add to the slow cooker. Place the sliced onion in the bottom of the slow cooker. Place the seasoned pork on top and pour the broth around the pork.
Slow cook. Cover and cook on LOW for 8–10 hours or HIGH for 5–6 hours, until the pork is very tender and easily pulls apart with a fork. If it does not easily pull apart with a fork, it needs more time to cook.
Shred the pork. Carefully remove the pork from the slow cooker and shred it using two forks. Discard any large pieces of fat.
Add the BBQ sauce. Drain most of the cooking liquid from the slow cooker, reserving a little (about a cup) if needed. Return the shredded pork to the slow cooker and stir in the BBQ sauce. Add a splash of the reserved cooking liquid if you want the pork a little juicier. Taste and season with additional salt if needed.
Make the homemade slaw. In a large bowl, whisk together the mayonnaise, red wine vinegar, sugar, salt, and black pepper until smooth. Add the coleslaw mix and sliced red onion. Toss until everything is evenly coated.
Serve. Pile the BBQ pulled pork onto toasted buns and top with a generous scoop of homemade coleslaw. Serve with extra BBQ sauce on the side and enjoy!