Slow cook the pork butt roast on low for 8 hours for the most tender, fall apart pieces then use the sauce for flavoring the shredded sandwich meat.
Set a 6 quart slow cooker to high to preheat.
In a small bowl, mix the brown sugar, paprika, cumin, coriander, kosher salt and black pepper together. Rub half of the mixture on the pork, setting aside the remaining spice rub. Heat oil in a large Dutch oven or high sided skillet over medium-high heat. Add the pork to the pan and brown evenly on each side, about 5 minutes per side.
Add the onion and garlic to the slow cooker and top with the pork butt. In a bowl or measuring cup, mix the remaining spice rub with the stock, ketchup, and vinegar then pour over the pork. Cover and cook on LOW for 8-9 hours or HIGH for 4-5 hours, or until fork tender.
Place the pork on a baking sheet or cutting board and let rest for 20-30 minutes or until cool enough to handle. Shred the pork into pieces and place in a bowl or back into the slow cooker insert.
Skim the fat from the cooking liquid and transfer to a blender. Blend until smooth then pour 1-2 cups of the liquid over the shredded pork and toss to combine.
Toss the coleslaw mix and red onion with the canola oil, apple cider vinegar, sugar, caraway seeds, celery seed, kosher salt and freshly ground black pepper. Cover and refrigerate for 1 hour for flavors to blend.
In a small bowl, mix the sour cream with the prepared horseradish, adding more to taste.
Slather the horseradish mayo on one side of a bun, then top it with the shredded pork and crunchy slaw. Serve warm with extra dipping sauce if desired.