Preheat oven to 350°F. Thoroughly grease a bundt pan with 2 tbsp butter, taking time to get into all the creases. Set aside.
In a large bowl add 2 cups white sugar, 1 1/2 cups vegetable oil, 2 large eggs and 2 1/2 tbsp vanilla. Mix well using a plastic spatula. To the same bowl add 3 cups all purpose flour, 1 tsp salt, 2 tbsp baking soda and 2 tbsp cinnamon. Gently mix the dry ingredients before incorporating the wet. Mix well. The batter will be thick and dough-like. Fold in 2 cups grated carrot, 1 cup walnuts, 3 diced dates (if using), 1 cup unsweetened shredded coconut and 1 398mL can crushed pineapple.
When the ingredients are evenly incorporated, transfer them to the greased bundt pan. Take a few extra seconds to scrape out all of the batter - we're going to reuse this bowl for the icing. Shake the pan and tap it on the counter a few times to get rid of any air pockets. Bake for 50 minutes, rotating the pan half way. You'll know it's done when a toothpick entered into the middle of the cake comes out clean.
When the cake is done, transfer it to a wire rack and let cool for 15-20 minutes. When the pan is cool to the touch, flip onto a serving tray. Do this in one swift motion to avoid breaking.
While the cake cools, make your mascarpone frosting. In the same bowl you used to mix the cake batter, add 1 cup mascarpone, 1 tbsp vanilla and 1 tsp salt. Whip on medium to aerate the cream. When it looks fluffy, add in 1 cup heavy cream, a bit at a time, and continue whipping on medium. When all the cream is incorporated, continue whipping on high until stiff peaks form. Add 1 cup icing sugar and mix on medium until incorporated.
When the cake is completely cool, top with mascarpone cream, more coconut flakes and some seasonal flowers.