Preheat your oven to 350 F and grease three 8-inch round cake pans, lining the bottoms with parchment paper. In a bowl, whisk together the pistachio flour, almond flour, tapioca starch, baking powder, and salt.
In a large bowl, beat the softened butter and sugar together with an electric mixer on medium-high speed for about 4 minutes until light and fluffy. Add the eggs one at a time, beating well after each addition. Mix in the vanilla and rose water.
Add the flour mixture in three additions, alternating with the milk in two additions, beginning and ending with the flour. Mix on low speed until just combined. Add a tiny drop of green food coloring if you want a more vibrant pistachio-green color. Divide the batter evenly among the three pans.
Bake for 22 to 26 minutes, until a toothpick inserted in the center comes out clean. Let the cakes cool in the pans for 10 minutes, then turn them out onto wire racks to cool completely.
Make the frosting by beating the cream cheese and butter together until completely smooth, about 2 minutes. Gradually add the powdered sugar one cup at a time, beating on low speed. Add the rose water and salt, then increase speed to medium-high and beat for 2 minutes until fluffy.
Tint the frosting a soft blush pink with a small amount of gel food coloring, mixing until the color is even.
Level the cake layers if needed. Place the first layer on a cake stand and spread about 3/4 cup of frosting evenly on top. Repeat with the second layer and more frosting, then place the third layer on top.
Apply a thin crumb coat of frosting over the entire cake and refrigerate for 20 minutes. Then frost the outside with the remaining frosting, using an offset spatula or bench scraper to create smooth sides.
Gently press the crushed pistachios around the bottom third of the cake. Scatter dried rose petals over the top. Refrigerate for at least 30 minutes before slicing to let the frosting set.