Pat the pork shoulder very dry with paper towels. Trim the fat cap if needed, leaving about 1/4 inch of fat.
In a small bowl, mix salt, pepper, garlic powder, onion powder, smoked paprika, brown sugar, thyme, and cayenne if using.
Rub the pork with Dijon mustard and olive oil. Coat all sides with the seasoning mixture.
For the best crust, refrigerate the seasoned pork uncovered for 4 hours or overnight.
Preheat the oven to 300°F.
Place sliced onions in the bottom of a roasting pan. Add broth, water, beer, or apple cider to the pan. Place the pork shoulder on top, fat side up.
Roast uncovered for 4 to 5 hours, or until the pork is very tender and a fork slides in easily. Add a little liquid to the pan if the bottom becomes dry.
Increase the oven temperature to 450°F. Roast for another 15 to 25 minutes, or until the outside is dark, crisp, and well browned.
Remove from the oven and rest for at least 20 minutes.
Skim excess fat from the pan juices if desired. Add a small splash of vinegar or lemon juice to brighten the flavor.
Serve the pork in thick slices, chunks, or rough pieces with crispy crust and pan juices.