Cook coconut cream over medium-high heat, stirring occasionally. Lower the heat as it thickens. Cook until the oil separates and the curds turn golden, about 30–40 minutes. Strain, saving the latik and oil.
Bring steamer water to a boil, keeping it below the rack. Lower to medium heat so it bubbles gently. Wrap the lid with a towel secured away from the heat. Grease the pan with latik oil.
Mix glutinous rice flour, sugar, salt, coconut milk, and 1½ cups water until smooth.
Divide into 3 equal portions. Mix ube jam and flavoring into one, dissolved achuete into another, and macapuno into the third.
Pour the ube batter into the pan. Cover and steam for about 12 minutes, until set.
Stir the orange batter and pour gently over the back of a spoon onto the ube layer. Cover and steam for about 15 minutes, until set.
Stir and gently add the white batter. Cover and steam for about 18 minutes, until firm and springy. Turn off the heat and leave covered for 15 minutes.
Cool completely. Loosen the edges and turn onto a platter. Brush with latik oil, add the topping, and slice.