Heat the butter in a medium saucepan over medium heat. Add onions and simmer until soft and melted, 5 to 7 minutes. Add the ketchup, vinegar, Worcestershire sauce, mustard, brown sugar, lemon juice, and pepper. Bring to a boil, reduce heat to simmer, and cook until flavors have smoothed and mellowed, about 10 minutes.
Preheat the oven to 350°F. Line a baking sheet with heavy-duty aluminum foil.
Meanwhile, to prepare the pork, trim off the fat and silver skin: insert the tip of a sharp boning knife just under the silver skin about 1/2 inch from the edge of the meat where the silver skin begins. Keep the knife closer to the membrane than the meat, and pulling up slightly with the knife, slide the knife along the length of the meat to remove a strip of the membrane. Repeat until no silver skin remains. Season the pork with salt and pepper.
To sear the pork, in a large skillet, heat the oil over medium-high heat until shimmering. Sear the tenderloin until well browned on all sides, 5 to 7 minutes.
Remove from the heat and place lengthwise on the prepared baking sheet. Top with about 1 cup of the barbecue sauce and roll to fully coat. Fold the foil over the top of the meat and pinch the ends of the foil to seal well. Bake until very tender, 30 to 45 minutes.
Remove from the oven and transfer the pork to a large bowl. Discard the cooking juices remaining in the foil. Using 2 forks, shred the pork tenderloin into strips. Add barbecue sauce to taste, about 1 cup. Taste and adjust for seasoning with salt and pepper. Serve on the split buns with the remaining 1/4 cup of sauce on the side.