In a small saucepan over medium-high, bring ⅔ cup water to a boil. Stir in the rice and return to a boil. Reduce to low, cover and cook until tender and the water has been absorbed, 25 to 30 minutes; you should have about 1 cup cooked rice. Transfer to a large bowl and cool completely.
While the rice cools, in a Dutch oven over medium, heat the oil until shimmering. Add all but the ¼ cup finely chopped onions, the celery, 1 teaspoon salt and ½ teaspoon pepper. Cook, stirring, until the vegetables are softened but not browned, 6 to 8 minutes. Add the dill stems and cook, stirring, until fragrant, about 30 seconds. Add the bay, broth and 6 cups water. Bring to a boil over medium-high, then reduce to medium-low and simmer, uncovered and stirring, for about 15 minutes while you prepare the meatballs.
To the cooled rice, add the reserved ¼ cup onion, 2 tablespoons chopped dill leaves, the pork, egg, paprika, ¾ teaspoon salt and ½ teaspoon pepper. Using your hands, mix until well combined. Moisten your hands with water to prevent sticking, then divide the meat mixture into 16 to 18 portions (about 2 tablespoons each), forming each into a compact ball and placing them on a large plate.
Stir the tomato puree into the broth, then bring to a simmer over medium. Add the meatballs one at a time, then return to a simmer. Reduce to medium-low and simmer, uncovered and stirring, until the meatballs are cooked through, 15 to 20 minutes. Remove and discard the bay. Off heat, stir in the vinegar and remaining 2 tablespoons chopped dill leaves. Taste and season with salt and pepper. Ladle into bowls and serve sprinkled with additional dill and a dollop of sour cream.
