Preheat your oven to 350°F (175°C). For the easiest-to-remove cake, cut a circle of parchment paper to line the bottom of two 9-inch cake pans. Then, grease the bottom and sides of the pan with any neutral-tasting oil of your preference.
In a large mixing bowl, whisk together the plant-based yogurt or applesauce, plant milk of your choice of oil, apple cider vinegar, and vanilla extract until well combined.
Sift together the all-purpose flour, cinnamon, nutmeg, cardamom, salt, baking powder, baking soda, and sugar in a separate bowl.
With a rubber spatula, mix together the wet and dry ingredients, stirring until just combined. Be careful not to overmix, as this can lead to a denser cake.
Fold in the shredded carrots, raisins, and, if using, the diced pineapple, shredded coconut, and chopped nuts into the batter, ensuring they are evenly distributed throughout.
Divide the batter into the two prepared cake pans, smoothing the top with a spatula.
Bake in the preheated oven for 30-35 minutes, or until a toothpick inserted into the center of the cake comes out clean. The exact time can vary based on whether you mix all of the extra goodies into the batter, so start checking a few minutes early to ensure the cake does not overbake.
Once done, remove the cake from the oven and let it cool in the pans for about 10 minutes. Then, transfer the cakes to a wire rack to cool completely before frosting.
When the cake is completely cool, use a serrated knife to evenly trim off the rounded dry “skin” on the top of each layer. Spread the vegan cream cheese frosting between the layers, over the top and sides, with a knife or offset spatula, creating a smooth or decorative pattern as desired.
If you like, you can garnish the frosted cake with additional nuts, shredded coconut, a little dusting of cinnamon, or carrot shreds.