Pulse the meat in a food processor until finely shredded, or shred as finely as possible with two forks.
Heat a medium to large skillet on medium until hot, then add the schmaltz or oil. When it's rippling, add the onion, garlic, and a Tbsp of kosher salt, and cook until translucent, about 3-5 minutes. Remove from the heat.
In a large mixing bowl, combine the meat with the onion mixture, making sure to transfer as much schmaltz or oil as possible into the meat as well. Add the chopped dill, if using, and mix well until fully combined.
In another large mixing bowl, combine the flour, eggs, remaining salt, and water (or, to avoid cleaning another bowl, you can do this on the countertop by creating a mound with the flour and then making a well for the wet ingredients). Once the dough forms into a ball, knead for about 5 minutes, or until the dough has become soft and elastic. Form it into a tidy ball, and rest under a damp cloth for 30 minutes.
Cut the dough ball into 4 segments. Place 3 of the pieces under the damp cloth, and begin forming the 4th piece into a ball. Create a hole with your thumbs so that it looks like a bagel. Begin stretching it out until it's about the thickness of a roll of quarters. Wrap the dough loop in another damp cloth. Repeat this process with the other 3 pieces of dough until they're all under the same damp cloth.
Take a long dough loop, press two sides together, and cut the ends so it becomes two "snakes." Roll them out to the approximate thickness of a roll of dimes. Cut inch-long pieces and store them under the same wet cloth, and repeat with all 4 loops until you have many small pieces of dough ready to form into kreplach.
Using one small piece of dough at a time, remove them from the damp cloth and roll into a small ball. Using your hands first, then a rolling pin, flatten the dough ball until it's round and thin, but not so thin that it's transparent.
Take about ½ tsp of the filling and place in the center of the dough "pancake" and fold it in half, pinching the edges to seal them so no filling escapes when they're cooking.
Bring the corners together with their edges facing away from the filling rather than toward the ceiling. Overlap the corners a bit and pinch them to seal. Repeat with the rest of the little dough pieces.
If you're serving the kreplach right away, skip to the second to last step. If you're freezing the kreplach until you're ready to serve them, lay them all flat on wax or parchment paper (on a sheet pan if possible- though I often don't have space for this). Leave a little room between them so they aren't touching, or they will freeze together. Chill for 10 minutes or so, then remove from the freezer and transfer to a container or bag all together. Because you took the time to chill them beforehand, they won't stick together!
Just before you're ready to serve the kreplach, bring a small to medium-sized saucepan full of aggressively salted water to a boil. Drop in your kreplach and stir so that they don't stick to the bottom. Cook for about 5 minutes if frozen (2-3 minutes if fresh) or until they're al dente.
Serve in piping hot chicken soup and garnish with dill (optional).