01 - Combine flour, caster sugar, instant yeast, and salt in a large mixing bowl. Pour in lukewarm milk, add softened butter, and crack in the egg. Mix until shaggy dough forms, then knead by hand or stand mixer for 8-10 minutes until smooth and elastic. Cover bowl with plastic wrap and place in warm draft-free area for 1 hour until doubled in volume.
02 - Place raspberries, caster sugar, and lemon juice in small saucepan. Set over medium heat and simmer for 7-8 minutes, stirring occasionally, until mixture thickens to jam-like consistency. Remove from heat and transfer to small bowl. Cool completely at room temperature before using.
03 - Beat room temperature cream cheese with icing sugar until smooth and creamy. Add rose water and egg yolk, continue beating until fully incorporated and glossy. Transfer to piping bag or small bowl for easy assembly.
04 - Punch down risen dough to release air. Turn onto lightly floured surface and divide into 12 equal portions. Roll each piece into smooth ball, then flatten into small disc about 3 inches in diameter. Arrange on parchment-lined baking sheet leaving 2 inches between each bun.
05 - Press deep indentation into center of each dough disc using thumb or back of spoon. Pipe or spoon 1-2 teaspoons cheesecake filling into center cavity. Top with 1 teaspoon cooled raspberry compote. Repeat with remaining dough discs.
06 - Cover baking tray loosely with clean kitchen towel or plastic wrap. Let buns proof at room temperature for 30-40 minutes until visibly puffy and increased in size by half.
07 - Preheat oven to 350°F. Brush exposed dough edges with milk using pastry brush. Sprinkle demerara sugar over tops if desired. Bake for 20-25 minutes until golden brown and set in center. Cool on baking sheet for 10 minutes before garnishing with chopped pistachios or rose petals.