Preheat oven to 375 degrees F.
Peel and mince or grate the garlic. Peel and grate the ginger. Zest the orange and then slice it. Measure out the rest of the sauce ingredients.
Cut onion into quarters and then separate layers. Place in the bottom of the roasting pan.
Combine the orange juice, fresh orange zest, chicken broth, butter, brown sugar, garlic, ginger, and oregano in a small pot over medium heat. Bring to a simmer, then reduce the heat to the lowest setting and cook for 20 minutes to reduce and thicken.
Season the pork roast on all sides with the salt, pepper, and paprika. Place on top of the onions in the roasting pan. Place into the oven to cook for 1 hour. At 20 minutes and 40 minutes, baste the pork with ¼ cup of the orange sauce. At 50 minutes, using a meat thermometer, check the internal temperature of the pork in the center to see if it has reached 145 F. If it is not yet there, put the roast back in the oven for another 5-10 minutes.
Remove the pork roast from the oven, transfer it to a cutting board and cover with foil. Let rest for 10-15 minutes before slicing.
While the pork is resting, transfer the onions to the serving platter. Then it's time to scrape up the bottom of the roasting pan to get all of the delicious drippings. I add a ¼ cup of hot water and start scraping the bottom with a spatula. Then pour the drippings into the orange sauce.
Next, mix the cornstarch with the cold water to make a slurry and then whisk the slurry into the sauce. Bring the sauce up to a light simmer, making sure to stir the entire time so that it doesn't clump.
Slice the pork and place in the center of the onions on the platter. Pour the Orange sauce over the pork and serve the rest on the side. Garnish with orange slices.