Prepare the Cake Pans: Preheat the oven to 350°F (177°C). Line three 8-inch (20 cm) round cake pans with parchment paper, then coat them with baking spray.
Mix the Wet Ingredients: In a large mixing bowl, combine the cooking oil, buttermilk, eggs, granulated sugar, lemon extract, and vanilla extract. Beat with an electric mixer on medium speed for 2–3 minutes, until the eggs are thoroughly beaten and the mixture is well combined. Combine the Dry Ingredients: In a separate bowl, mix the all-purpose flour, baking powder, baking soda, and salt. Sift the dry ingredients into the wet mixture to help distribute them evenly.
Finish the Cake Batter: Mix on medium speed for approximately 1 minute, stopping as soon as the dry ingredients are incorporated. Add the lemon zest and poppy seeds, then mix for about 20 seconds, just until evenly combined.
Divide the Batter: Distribute the batter evenly among the three prepared cake pans, keeping the amounts as consistent as possible so the layers bake evenly.
Bake the Cake Layers: Place the pans in the preheated oven and bake for 23–25 minutes. Check the center of each cake with a toothpick; the cakes are ready when it comes out clean.
Cool the Cake Layers: Remove the pans from the oven. Take the cakes out of their pans and transfer them to a wire rack. Let them cool completely before adding the lemon curd or frosting.
Whisk the Lemon Curd Base: While the cake layers cool, place the whole eggs, egg yolks, and granulated sugar in a small stainless-steel saucepan. Whisk vigorously for 2–3 minutes, until the mixture becomes thick and pale. Pour in the freshly squeezed lemon juice and whisk to combine. Cook the Lemon Curd: Set the saucepan over medium heat. Stir constantly with a rubber spatula for 4–5 minutes, until the mixture thickens to a pudding-like consistency. Do not allow the curd to boil.
Finish and Chill the Lemon Curd: Remove the saucepan from the heat and add the butter and vanilla extract. Allow the butter to melt, then whisk until the curd is smooth. Cover the surface with plastic wrap to prevent a skin from forming, and refrigerate until completely cool. Whip the Butter: Place the softened butter for the frosting in the bowl of a stand mixer. Beat on medium-high speed for approximately 5 minutes, until light and fluffy.
Add the Cream Cheese: Add the softened cream cheese to the whipped butter. Beat on high speed for another 2–3 minutes, until the mixture is smooth.
Complete the Frosting: Add the confectioners' sugar and beat for 2–3 minutes, until the frosting is smooth. Add the lemon extract and poppy seeds last, mixing for approximately 30 seconds until evenly distributed. Place the frosting in the refrigerator for 1–2 hours to thicken. Level the Cake Layers: Once the cake layers and lemon curd are completely cool, use a long serrated knife to carefully trim the tops of the cake layers, creating flat surfaces for stacking.
Spread the Lemon Curd: Place the first cake layer on a serving plate or cake board. Spread approximately 1½ tablespoons (22 ml) of lemon curd evenly over the surface using an offset spatula. Repeat this thin layer of curd on the remaining cake layers as you assemble the cake.
Add the Frosting Layer: Spread a generous layer of cream cheese frosting evenly over the lemon curd, extending it toward the edges of the cake.
Pipe a Frosting Barrier: Transfer approximately 1 cup of frosting into a pastry bag fitted with a large round or star tip. Pipe a ring of frosting around the outer edge of the cake layer. This barrier helps keep the lemon curd filling from escaping between the layers. Fill and Stack the Cake: Spoon approximately ⅓ cup (80 ml) of lemon curd into the center of the frosting ring. Carefully place the next cake layer on top. Repeat the filling and stacking process with the remaining layer, keeping the cake aligned as you build it. Apply the Crumb Coat: Spread a thin layer of frosting over the top and sides of the assembled cake. Refrigerate for 15–30 minutes to allow the crumb coat to chill and set.
Frost the Finished Cake: Once the crumb coat has chilled, use the remaining frosting to cover the top and sides of the cake, smoothing the surface as desired.
Garnish the Cake: Decorate the top with lemon wedges and edible, food-safe flowers if desired.
Chill Before Serving: Refrigerate the completed cake for at least 1 hour before slicing and serving. Keep any leftover cake refrigerated when not being served.