For the doughnuts: In the bowl of a stand mixer fitted with a dough hook, add 3 cups of the flour, the sugar, yeast, lemon zest and orange zest, and mix for a couple seconds. In a small bowl, mix the milk, vanilla and eggs, and set aside. Turn the mixer on and alternate adding the milk mixture with the melted butter, scraping down the sides. Repeat for the remaining milk and butter, until it is all incorporated, then add the salt in. When you finish adding in all the liquids, the dough will be a little wet. Slowly sprinkle in the remaining 1/4 cup flour until the dough comes together and leaves the sides of the mixing bowl almost clean. (If it reaches this stage before adding in the full 1/4 cup, do not add in the rest.) Turn the dough out and knead it on a floured surface until the dough is soft and comes together, 1 minute. Place the dough in a bowl with a little oil and cover with a damp cloth. Store in a warm place to proof until it doubles in size, 1 to 2 hours.
Roll the dough out to 1/2- to 1-inch thick and cut into doughnut shapes. Place the doughnuts on a floured tray and cover with a damp cloth, let rise for another 30 to 40 minutes.
While the dough is rising, heat the oil over medium heat until a deep-frying thermometer inserted in the oil reaches 350 degrees F. When the dough is fluffy and doubles in size, place it in the fryer for 2 minutes on each side. Take out the doughnuts and cool on a cooling rack.
While the doughnuts are cooling, make the glaze.
For the glaze: Sift the confectioners' sugar through a sifter into a bowl. Add the cream, rose water and a few drops food coloring if using, and mix. Set aside until the doughnuts are ready to be glazed.
When the doughnuts are cool, place a tray underneath the cooling rack and then dunk the doughnuts in the icing for a nice thick layer. Sprinkle with a dusting of the ground pistachios then place on the rack to set.