In a large bowl, whisk together the flour, sugar, yeast, salt, and cardamom.
Cut ¼” off each end of the sticks of butter, resulting in about 2 tablespoons total. Set the rest of the butter aside.
Add the 2 tablespoons butter to the flour mixture, rubbing it in until no large lumps remain.
Add the vanilla, milk, water, and eggs to the flour mixture. In a mixer or by hand, combine the ingredients and knead to make a cohesive, but quite sticky dough. It should not take long to come together.
Scrape the dough into a ball, and transfer it to a floured work surface. Cover it with plastic wrap, and let it rest for 10 minutes while you prepare the butter.
The butter should still be cold, but malleable. If at any point your butter or dough seems too warm, refrigerate it for 15 minutes.
Cut the sticks of butter in half, lengthwise. Then line them up, side by side, on a piece of floured parchment or plastic wrap to make one larger, flat layer of butter. Sprinkle the butter rectangle with flour and cover with another piece of parchment or plastic wrap. Gently roll the butter out until it forms one solid rectangle. It will be about 5x7" and ¼-1/2” thick. Set aside in a cool place, or in the fridge if it's starting to get warm.
Roll the dough into a rectangle about 10x15”, adding a sprinkle of flour when you need it. Place the butter rectangle in the center of the dough, the short edge of the butter to the long edge of the dough. Fold one side of the dough over the top of the butter, followed by the other side.
Roll out the dough and butter packet into a larger rectangle, approximately 10x20”. Then fold the ends in again the same way you did before. Wrap in plastic wrap and refrigerate for 20 minutes.
Repeat, rolling and folding the packet out 2 more times. Refrigerate for 20 minutes in between each roll out, or work quickly so the dough does not warm up.
Wrap the packet loosely in plastic wrap (so it has room to rise) and refrigerate for 2-18 hours. Longer times allow for more rise and better flavor. Overnight is a great option.
When you’re ready to assemble your danishes, line a baking sheet with parchment paper and make the cream cheese filling. Whisk all ingredients in a bowl until smooth.
Next prepare your honey-hickory topping. Mix all ingredients in a bowl until well combined.
Pull the dough out of the fridge and cut off ⅓ at a time. Place the rest back in the fridge. To make round danishes, roll to ~½” thickness and cut out the circles with a 4" cookie cutter. Press down in the center of each circle, leaving the sidewalls higher than the middle. This will create a well to hold the filling.
Place the shaped danishes on your baking pan covered with parchment. Repeat with the other ⅔ of dough. Cover loosely and set aside to rise for about 1 hour.
After 1 hour of rising time, preheat the oven to 400℉. Mix the egg and water together for the egg wash.
Press down the center of each danish again to deepen the well. Then fill with the cheese filling and top with the nut mixture. Brush the outer walls of the Danish with the egg glaze.
Bake for 16-18 mins, or until golden brown. Remove from the oven and cool on a rack.