To make the cake, first preheat the oven to 350°F.
Grease the inside of a 9 x 13 inch baking pan.
Whisk the flour, sugar, cornstarch, cinnamon, nutmeg, baking powder, baking soda, and salt together in a large mixing bowl.
Stir the milk, oil, brown sugar, maple syrup, vanilla extract, and apple cider vinegar together in a small container or bowl.
Add the milk mixture to the bowl containing the flour mixture. Stir until the mixtures are combined and a relatively smooth batter is formed. It doesn't need to be perfect — a few lumps are fine.
Pour the batter into the baking dish.
Bake the cake for 24 to 26 minutes, or until a toothpick inserted into the center comes out clean.
Place the cake on a cooling rack and let it cool in the pan.
Make the pudding while the cake cools. Whisk the non-dairy milk and cornstarch together in a small bowl or liquid measuring cup. Set the mixture aside.
Whisk the brown sugar, salt, and water together in a medium saucepan. Place the saucepan over medium heat and bring the mixture to a simmer. Lower the heat if needed and let it simmer, uncovered and without stirring, for 5 minutes.
Whisk in the coconut milk, followed by the cornstarch mixture. Bring everything back up to a simmer and let it cook, whisking frequently, for a minute or two, until it thickens up.
Remove the pot from heat and whisk in the butter, whiskey, vanilla, and food coloring or turmeric, if using.
Let the pudding cool until just a bit warm. The pudding will thicken as it cools, and you want it to remain slightly on the runny side when you add it to the cake. You can speed up cooling by placing the pot in a cold water bath, if desired. Give it an occasional whisk or stir to prevent a skin from forming as it cools.
Use a large mixing spoon to poke holes in the cake, spacing them about 1 to 1 ½ inches apart. This recipe includes a lot of pudding, so you want plenty of holes.
Pour the pudding over the cake, spreading it out evenly so it fills the holes. You'll end up with some extra pudding on top of the cake. Spread it out into an even layer. Chill the cake until the pudding feels set, at least 2 hours.
To make the frosting, first use an electric mixer on high speed to beat the cream cheese and vegan butter together in a large mixing bowl, until creamy. Beat in the cinnamon, vanilla, lemon juice (if using), and salt.
Begin beating in the powdered sugar at low speed, adding about 1 cup at a time until the frosting reaches your desired consistency.
Spread the frosting over the cake. The pudding layer on top should be set enough that you can do this without it combining with the frosting, as long as you are gentle.
Cover and chill the cake until ready to serve, then slice and enjoy.