In a large skillet over medium-high heat, heat the butter and oil. Add the celery, carrots, and onions; cook until softened, about 5 minutes.
While vegetables are cooking, whisk eggs, milk, salt, and pepper to taste until well combined. Mince sage and rosemary.
In a large bowl combine cubed bread, vegetable mixture, liquid ingredients, apple, sage, and rosemary. Gently toss until bread absorbs most of the liquid.
Cut three pieces of butcher’s twine about 4 inches longer than the longest side of the butterflied roast. Lay the string on a cutting board horizontally and lay the roast on top of string to cover.
Place half of the stuffing mixture onto butterflied pork loin and press down firmly. Roll the roast up and tie butcher’s twine around it to hold it together, taking care not to tie too tightly, and press any stuffing that comes loose back into ends of the roast.
Place stuffed and tied roast, fat side up, on a rack over a baking sheet. Season liberally with salt and pepper; roast 75 to 90 minutes until meat thermometer inserted into roast registers 140°F.
Meanwhile, place remaining stuffing in a small ovenproof casserole and cover with foil. After meat roasts 30 minutes, place extra stuffing in the oven to cook alongside roast.
Remove foil from extra stuffing and remove roast from oven. Let rest for 10 minutes, then remove the extra stuffing from the oven.
Cut twine from roast and discard. Cut roast into six thick slices, taking care not to lose stuffing. Serve with extra stuffing and gravy. Makes 6 servings.