Combine blueberries, granulated sugar, and lemon juice in a medium saucepan over medium heat and simmer for 5–7 minutes, stirring occasionally, until the berries break down. Whisk cornstarch with water, stir into the berries, and cook 2–3 more minutes until thickened and glossy, then remove from heat and refrigerate until completely cold.
Beat softened cream cheese with an electric mixer on medium speed for 2–3 minutes until completely smooth and fluffy, then add powdered sugar and vanilla extract and beat for another 1–2 minutes until light and airy.
In a separate chilled bowl, whip cold heavy cream on high speed for 3–4 minutes until stiff peaks form, then gently fold it into the cream cheese mixture in three additions until no white streaks remain.
Arrange a single layer of graham crackers in the bottom of a 9x13 inch dish, breaking to fit, then spread one-third of the cream cheese filling evenly over the top and drizzle with one-third of the blueberry compote, swirling gently with a knife for a marbled effect.
Add a second layer of graham crackers, then spread half of the remaining cream cheese filling over the top and swirl in half of the remaining compote.
Place a final layer of graham crackers on top, spread the remaining cream cheese filling to create a smooth, even finish, then dot with the remaining compote and create decorative swirls with a knife.
Cover tightly with plastic wrap (keeping it off the surface) and refrigerate for at least 4 hours, or ideally overnight (8–12 hours) for the graham crackers to fully soften and flavors to meld.
Let the cake sit at room temperature for 5–10 minutes before slicing, then cut into 12 squares with a sharp knife, wiping the blade between cuts, and garnish with fresh blueberries and lemon zest if desired.