Put the potatoes in a medium pot and cover with cold water; season with salt. Bring to a simmer over medium-high heat and cook until fork-tender, about 20 minutes; drain. Pass the potatoes through a ricer into a large bowl or mash with a potato masher until smooth.
Combine the milk, butter, 1/2 teaspoon salt and 1/4 cup water in a medium saucepan and bring to a boil. Remove from the heat, add the flour and stir vigorously with a wooden spoon until incorporated. Return the saucepan to the stove and cook over low heat, stirring, until the mixture comes together and pulls away from the side of the pan, about 1 minute. Continue stirring until the mixture is slightly shiny, about 4 more minutes.
Transfer the mixture to a stand mixer and beat with the paddle attachment on medium-high speed, about 1 minute. Add half of the mashed potatoes and the whole egg and beat until incorporated. Add the remaining potatoes and the egg yolks and beat until creamy and smooth, about 1 more minute. Transfer the mixture to a pastry bag fitted with a 1/2-inch round tip. Set a large piece of parchment paper on a cutting board. Pipe about 24 mounds (1 to 1 1/2 inches each) of the potato mixture on the parchment. Cut the parchment between the mounds with a paring knife so each puff sits on its own piece of paper.
Heat 2 inches of peanut oil in a large pot until a deep-fry thermometer registers 325 degrees F. Working in batches, carefully invert each puff into the oil, leaving it on the parchment. The parchment will fall off as the puffs cook; remove with tongs. Fry until golden, turning as needed, 6 to 8 minutes. Remove with a slotted spoon and drain on paper towels; season with salt.