Preheat the oven to 350°F. Grease a 9-inch round cake pan and line the bottom with parchment paper.
Place the crushed pineapple in a fine-mesh sieve and gently press out excess juice. Do not dry it completely; the pineapple should remain moist but not watery.
Peel and finely grate the carrots until you have 2 cups. Set aside.
Toast the chopped walnuts in a dry skillet over medium-low heat for 3–5 minutes, stirring frequently until fragrant. Transfer them to a plate and allow them to cool.
In a medium bowl, whisk together the whole-wheat pastry flour, almond flour, baking powder, baking soda, cinnamon, cardamom, and sea salt.
In a large bowl, whisk the eggs, olive oil, Greek yogurt, honey, vanilla extract, and orange zest until smooth and evenly combined.
Add the dry ingredients to the wet mixture in two additions, gently folding with a spatula just until no dry flour remains. Do not overmix.
Fold in the grated carrots, drained pineapple, and toasted walnuts until evenly distributed throughout the batter.
Transfer the batter to the prepared cake pan and spread the top evenly with a spatula.
Bake for 38–48 minutes, beginning to check around 38 minutes. The cake is ready when the top is golden and a toothpick inserted into the center comes out with a few moist crumbs but no wet batter.
Remove the cake from the oven and cool in the pan for 15 minutes. Carefully loosen the edges, transfer the cake to a cooling rack, remove the parchment, and allow the cake to cool completely.
To make the frosting, beat the softened cream cheese until smooth. Add the Greek yogurt and mix until creamy.
Gradually beat in the powdered sugar, then add the orange juice and optional orange zest. Mix until smooth and spreadable.
Spread the frosting evenly over the completely cooled cake. Garnish with chopped walnuts, pistachios, and fresh orange zest if desired.
Slice into 10 portions and serve with coffee, tea, or fresh fruit. Store leftover frosted cake covered in the refrigerator for up to 4 days.