Preheat the oven to 350°F (175°C). Lightly coat a 9 × 5 × 3-inch (23 × 12 × 8cm) loaf pan with a neutral vegetable or sunflower oil spray and line the bottom and sides with parchment paper.
Spread the walnuts on a small baking sheet and lightly toast in the oven until golden brown, 5 to 6 minutes. Let cool.
To make your flax egg, whisk together the flaxseed and oat milk in the bowl of a stand mixer until a smooth paste forms. If there are any lumps, push a small rubber spatula against the side of the bowl to break them up. Let sit for 10 minutes to bloom and thicken.
To the flax egg, add the canola oil, cane sugar, vanilla, and apple cider vinegar. Mix on medium speed with the paddle for 1 to 2 minutes to combine.
In a large bowl, whisk together the all-purpose flour, whole wheat flour, baking powder, baking soda, salt, cinnamon, ginger, and nutmeg.
Add the dry ingredients to the wet ingredients and mix on medium-low speed until just incorporated, 1 to 2 minutes.
Add the grated carrots and 150g (1½ cups) of the toasted walnuts (reserve the remaining walnuts for decorating). Lightly mix on low speed for 1 minute. Remove the bowl from the mixer. Using a rubber spatula, stir the batter from the bottom to check that everything is fully mixed together.
Scrape the batter into the prepared loaf pan and smooth the top with a rubber spatula. Bake until a skewer inserted into the centre of the cake comes out clean, 60 to 70 minutes. Let the cake cool in the pan for 15 to 20 minutes. Turn it out onto a cooling rack, turn right side up, and let cool completely, at least 60 minutes, before frosting.