Position oven rack in lower third of oven; preheat to 350 degrees F.
Prepare chickens: Remove giblets. Place hearts, necks and gizzards in roasting pan and reserve livers for another use. Remove excess fat with a sharp knife. Dry insides with a paper towel. Loosen skin over breasts and thighs with your fingers to make pockets, being careful not to tear the skin.
Combine onion, garlic, paprika, 2 teaspoons salt and 1 teaspoon pepper in a food processor or blender; puree until smooth.
Spread 1/4 cup onion puree in the bottom of a roasting pan. Place chickens in pan, at least 1 inch apart. Rub 1 tablespoon puree into each cavity and spread remaining puree under skin. Tuck wings back and tie legs.
Roast chickens for 20 minutes. Drizzle with 1/4 cup broth and roast for 40 minutes more, basting with pan drippings every 20 minutes. Tent the chickens with aluminum foil and continue roasting until an instant-read thermometer inserted into the thickest part of the thigh, away from the bone, registers 180 degrees F and the cavity juices run clear, about 30 minutes more .
Transfer the chickens to a platter and cover with foil to keep warm; leave the giblets in pan.
Pour the pan juices into a bowl and chill in freezer for 10 minutes to bring fat to the surface. Meanwhile, add remaining chicken broth and vodka to roasting pan and bring to a boil over medium heat, scraping up any browned bits adhering to the pan. Add any juices accumulated on chicken platter.
Skim off fat from the chilled pan juices. Add the juices to roasting pan and return to a boil. Strain the juices through a fine sieve into a medium saucepan. Bring to a simmer over medium heat. Blend water and cornstarch in a small bowl; whisk into the simmering gravy. Cook, stirring, until slightly thickened, about 1 minute. Whisk in dill and sour cream, if using. Season with salt and pepper.
Carve the chickens, discarding skin. Serve with the gravy.