Make an ice bath and set aside. Have a clean bowl and a fine mesh strainer standing by.
Combine sugar, non-fat milk powder, and tapioca starch. Mix 627g of milk and the cream in a large bowl. Whisk in the dry ingredients until there are no lumps. Thoroughly incorporate the corn syrup, being sure to scrape all of it into the bowl.
Place the mixture in a medium saucepan over medium-high heat. Cook for 8-10 minutes. Heat until bubbles start forming around the edges but do not let it come to a full rolling boil. Keep stirring the mixture while it cooks. In the last few minutes mix a bit faster as the mixture begins to thicken.
Once it’s thick enough to coat the back of a wooden spoon, pour it through a fine mesh strainer into a bowl. Place a piece of plastic wrap on the surface of the gelato to prevent a skin from forming. Put the bowl of hot gelato into the ice bath.
After the gelato has cooled, remove from the ice bath and refrigerate for 4-12 hours.
Drain the coconut cream before measuring. Add the drained coconut cream, 50g of milk (or coconut milk) and the coconut extract (if using) to the gelato mixture. Thoroughly combine using an immersion blender or regular blender.
Process in an ice-cream maker according to the manufacturer’s instructions. The gelato is finished when it reaches the consistency of soft serve ice cream (about 20-30 minutes on most machines) Scoop into a container, place a piece of plastic wrap or parchment paper on the surface and freeze until firm (4 hours minimum)