Combine the milk, coconut, milk, rice and salt in a large, heavy saucepan. Bring to a boil over high heat, stirring constantly. Reduce the heat to low, add the cinnamon stick, cover, and simmer gently, stirring occasionally, for 15 minutes.
Uncover and continue simmering, stirring frequently, until the rice is tender about 8 minutes. Stir almost constantly toward the end of cooking to prevent scorching.
In a medium bowl, whisk the egg yolks, sugar, and vanilla. Whisk in 1 cup of the cooked rice mixture, then add the mixture back to the saucepan. Cook, stirring constantly, until the mixture has thickened and coats the back of the spoon, about 1 minute. Remove the pan from the heat.
Spoon the pudding into serving dishes. Serve warm, at room temperature or chilled, garnished with toasted coconut.