Begin by making the Caramelized Onions: In a Dutch oven melt the butter and oil on low heat. Add the onions. Cover and cook for 40 minutes, stirring frequently. Add the salt.
While the onions are cooking, make the Pierogi Dough: In a large bowl, whisk together the flour and salt. In a second smaller bowl, mix together the chicken fat or oil, yolks, and milk. Stir these liquids into the flour with a fork. Then, knead it on a floured board for 12 minutes. Wrap in plastic wrap and let rest for thirty minutes.
While the dough rests make the filling: Put the potatoes and salt in a three quart saucepan and cover with three inches of water. Boil and cook for about 10 minutes or until the potatoes are fork tender,
While the potatoes cook, melt one tablespoon of butter in a skillet and cook the shallots on low heat until they're soft, for about five minutes. Drain the potatoes and then add them back to the pot. Let them dry for a minutes and then mash them with shallots, cream cheese, cheddar, sour cream, salted butter, pepper, and a quarter teaspoon of kosher salt.
Cut the dough in half. Roll out each half on a floured board until they're an ⅛ inch thick. Cut out rounds with a three inch biscuit cutter. You should have about 30 biscuit cutters. Put one teaspoon of filling on each circle ( you'll likely have some leftover filling). Fold the circles in half and use a fork to seal the edges shut. Place the pierogi on a flour dusted parchment lined baking sheet.
Bring a large pot of water to a slow boil. Add one teaspoon of kosher salt and cook six pierogi at a time for about five minutes, or until they float to the top. Drain, and repeat with remaining pierogi.
In a large skillet, melt two tablespoons of butter. Cook six pierogi at a time, cooking until golden brown on both sides. Repeat with rest of butter and pierogi, cooking them in five more batches.
Serve the pierogi topped with bacon, scallions, caramelized onions, cheese, and sour cream.