While the ganache is chilling, whisk the egg yolks and cornstarch together in a medium bowl and set aside.
Combine the coconut milk, half-and-half, sugar, and salt in a medium saucepan over medium heat. Bring to a boil while whisking occasionally.
Carefully remove about ½ cup of the mixture and slowly whisk into the egg yolk/cornstarch mixture while constantly whisking until the egg yolks and milk are combined.
Reduce the heat to medium-low and slowly pour the egg yolk mixture back into the milk. Stir constantly until the mixture thickens, about 1-2 minutes.
Remove from the heat and stir in the shredded coconut, butter, and vanilla. Place a piece of plastic wrap on top of the filling, pressing it onto the filling to keep from forming a skin.
Allow the filling to cool for at least 30 minutes. Once cooled slightly, pour the filling on top of the ganache. Place plastic wrap directly onto the surface of the filling and refrigerate for at least 4 hours or overnight.