Pat the pork roast dry and place it into a 1 gallon zip top storage bag
FOR THE MARINADE
Add the honey, orange juice, gochuchang, Shaoxing, chopped ginger, garlic, 5 spice powder and white pepper to a blender or food processor. Blend until smooth.
Reserve 3/4 cup of the marinade for serving in a separate container. Cover and refrigerate.
Pour the remaining marinade over the pork shoulder. Seal the bag, removing as much air as possible before closing the bag. Place the pork on a rimmed sheet pan (just in case there are any leaks)and refrigerate for 24 hours.
ROAST THE PORK
Remove the pork from the refrigerator about half an hour before cooking so it can come to room temperature.
Preheat the oven to 300°.
Peel the onions and slice them in half vertically (root to stem). Place the onions cut side down on a cutting board and slice ½" thick slices, vertically from root to stem. Transfer the slices to a roasting pan in a single layer.
Remove the pork from the marinade and use paper towels to pat it dry. Reserve ½ cup of this marinade for brushing the pork. Set the pork roast on top of the onions. Add the water to the pan (but don't pour it on the meat). Tightly cover the roasting pan with aluminum foil.
Transfer the pork to the oven and cook for 3 hours.
Remove the tin foil from the pork shoulder. Brush the pork with the marinade and continue to cook for 1 hour uncovered. Baste with additional marinade every 20 minutes or so.
Turn the broiler on and broil the top of the pork for 3-5 minutes or until the marinade starts to caramelize and darken. Remove the pork from the oven and transfer to a cutting board. Lightly tent the meat with tin foil and let it rest, so the juices can resettle. (About 15 minutes).
Pull the pork shoulder with a fork to shred the meat. Transfer the pulled pork to a serving bowl. Add a few spoonfuls of the braising liquid in the bottom of the pan to the pork to moisten it. Serve with remaining marinade/dipping sauce (the one that didn't actually marinate with the pork) over rice.
FOR SLOW COOKER METHOD:
Slice the onions and scatter on the bottom of the slow cooker.
Remove the pork from the refrigerator and transfer it to the slow cooker. Don't worry about drying it first. Leave a little of the marinade clinging to the meat.
Add the water, cover and cook on high for 3 hours or low for 6-8 hours.Preheat the broiler to "high".
Transfer the pork from the slow cooker to a baking sheet. Brush with some of the reserved Asian marinade.
Place the pork under the broiler for about 5 minutes or until the marinade is bubbling and caramelized on the top of the pork. Let the meat rest before shredding.
FOR INSTANT POT METHOD:
Slice the onions and scatter on the bottom of the instant pot.
Cut the pork into large (2" cubes). Transfer the pork to the Instant pot (don't worry about drying the pork with paper towels).
Add the water. Seal the Instant pot lid and bring it to High Pressure for 40 minutes. Let the pressure naturally release.
Preheat the oven broiler to "high".Transfer pork cubes to a baking sheet and brush with reserved marinade. Broil the pork until the marinade starts to caramelize and bubble, about 5 minutes. Let the meat rest before shredding.