Make the Marinade: Combine the orange juice, lemon juice, cider vinegar, and grated ginger in a small saucepan. Heat the mixture until it reaches a boil, then lower the heat and let it simmer gently for about 2 to 3 minutes. Turn off the heat, stir in the butter until melted, and allow the marinade to cool fully.
Marinate the Duck: Place the duck legs into a large resealable plastic bag sitting in a shallow dish. Pour in the cooled marinade, seal the bag tightly, and move the duck around inside the bag to ensure it is fully coated. Refrigerate the duck for a minimum of 6 hours, or leave it overnight for up to 24 hours.
Prepare for Cooking: Set the oven to 400°F. Remove the duck from the marinade, letting any extra marinade drip off, and save the marinade for later. Warm a cast-iron or ovenproof skillet over medium-high heat. Place the duck into the skillet with the skin side facing down. Sear for around 2 minutes until the skin is slightly browned. Flip the duck over and cook for another 1 to 2 minutes. Remove the duck from the skillet, pour off most of the fat, leaving a thin layer to coat the bottom.
Combine Ingredients: Return the duck to the skillet with the skin side facing up. Add the poultry stock, fresh thyme leaves, and the reserved marinade to the skillet.
Roast the Duck: Lower the oven temperature to 350°F. Place the skillet in the oven and bake the duck until it becomes tender and fully cooked, which should take between 45 and 60 minutes. Remove the duck from the skillet, keeping the cooking liquid, and let the duck rest for 10 minutes.
Make the Sauce: Strain the cooking liquid through a fine-mesh sieve into a small saucepan. Bring the liquid to a boil over high heat and cook, stirring now and then, until the sauce reduces and thickens slightly. This will take about 15 to 20 minutes.
Serve: Plate the duck and spoon the warm sauce over the top. Keep any leftovers covered and stored in the refrigerator for up to 4 days.