Whisk ginger powder, garlic powder, onion powder, white pepper, and salt together in a bowl until dry rub is evenly mixed. Measure 1 tablespoon dry rub and set aside.
Generously apply remaining dry rub to pork shoulder.
Heat olive oil and butter together in a heavy cast-iron skillet over medium-high heat. Cook pork shoulder in hot butter-oil mixture until browned on all sides, 1 to 2 minutes per side.
Place skillet and pork shoulder in the preheated oven and cook until pork is cooked through, 1 to 2 hours. An instant-read thermometer inserted into the center should read at least 145 degrees F (63 degrees C). Transfer pork shoulder to a serving platter.
Pour vinegar into the skillet and bring to a boil while scraping the browned bits of food off of the bottom of the pan with a wooden spoon until liquid is evaporated, 1 to 2 minutes. Add the reserved 1 tablespoon dry rub, oyster sauce, and Worcestershire sauce to skillet; bring to a boil. Reduce heat and simmer; stir in 1 cup chicken stock and simmer.
Whisk remaining 1 cup chicken stock and cornstarch together in a bowl until smooth; stir into simmering chicken stock mixture until sauce is thickened, 1 to 2 minutes. Stir sugar and chile paste into sauce and simmer until sugar is dissolved, about 1 minute. Pour sauce over roast and garnish with scallions.