Make the tangzhong: Combine water, milk and flour in a medium saucepan. Whisk until combined and no lumps remain. Place saucepan over medium heat and cook mixture, whisking constantly, until it thickens, about 1-2 minutes. Set aside to cool.
Make the dough: While the tangzhong is cooling, begin preparing the rest of the ingredients for the dough. Combine yeast, cardamom, salt, sugar and flour in the bowl of a stand mixer. Whisk briefly by hand to combine.
Attach the dough hook to the mixer. Add melted and cooled butter, slightly warm milk, egg and the cooled tangzhong (it can be slightly warm to the touch) to the dry ingredients. Mix on medium low until fully combined.
Increase mixer speed to medium and knead mixture for 3-4 minutes or until dough is slightly tacky but not sticky and clears the side of the bowl. It’s okay if it’s sticking to the bottom of the bowl slightly. You can also mix and knead the dough by hand but it will take longer, more like 8-10 minutes.
Cover bowl with plastic wrap and allow the dough to rise for an hour or until 1 ½ or 2 times its original size. The time will largely depend on the temperature of your kitchen.
Once dough has risen, line a baking sheet with parchment paper and divide the dough into 12 equal pieces. Working with one piece at a time, gather up the edges of the dough into a rough ball shape, pinching the dough where the edges come together to create a “bellybutton”. Place the ball, bellybutton side down, on a clean kitchen counter. Cupping the ball with your hand so that your palm is lightly resting on the dough and your fingertips are resting on the counter, make small circles with the dough until a tight ball is formed. Place the ball on the baking sheet. Repeat with remaining pieces of dough.
Cover lightly with plastic wrap and let rise at room temperature for 45 minutes.
Meanwhile, preheat the oven to 400 degrees. Combine egg and 1 tablespoon water to create an egg wash. Uncover the buns and brush each bun with the egg wash. Bake at 400 degrees for 12-16 minutes or until buns are golden brown. Cover the buns with a clean dish towel and let cool to room temperature (this will keep the buns from forming a hard crust).
When you are ready to serve, make the filling. Combine almonds, sugar, salt and almond extract in the work bowl of a food processor. Process until almonds are finely ground. Remove the almond mixture from the work bowl and transfer to a medium bowl. Start by mixing ½ cup of milk into the ground almond mixture. Continue adding milk if necessary, 1 tablespoon at a time, until your filling has a creamy consistency.
Prepare the whipped cream. Place the cream in the bowl of a stand mixer. Using the whisk attachment, whisk the cream on medium-high speed until it begins to thicken. Add sugar and continue whisking until the whipped cream is fluffy and and can hold medium to stiff peaks.
Use a small, sharp knife to cut a triangular “hat” out of the top of the bun and set it aside to use later. Remove some of the inside of the bun using the knife and your fingers creating a nice cavity for the almond filling. Slice off the bottom of the hat so that it is only ¼-½ an inch thick.
Fill the bun with a spoonful or two of the almond filling. Dollop or pipe whipped cream on top. Artfully arrange the hat on top of the cream. Repeat with remaining buns. Dust tops with powdered sugar. Serve immediately.