In a saucepan over medium-high heat, combine the milk, sugar, margarine, lemon zest and cinnamon stick. Heats until small bubbles appear along the edge of the pan and then remove from the heat. Let stand for 30 minutes to develop the flavours.
Meanwhile, in another saucepan, bring the water to a boil. Add the salt and rice, reduce the heat to low and cook slowly until the rice kernels have swelled and are tender, 15-20 minutes. Drain any excess water.
Place the saucepan holding the milk mixture over medium heat and bring to a simmer. Add the rice and simmer uncovered, stirring often, until thickened, 15-20 minutes. Remove the lemon zest and cinnamon stick and discard.
In a bowl, using a fork or whisk, beat the egg yolks until lightly frothy. Gradually add about 1 cup (8 fl oz/ 250 ml) of the hot pudding to the yolks, beating constantly. Gradually pour the warmed yolks into the remaining pudding, stirring constantly. Cook over very, very low heat, stirring constantly, for 5 minutes.
Spoon the pudding into individual dessert bowls or one large serving bowl. Sprinkle with cinnamon and top with toasted almonds, if using. Serve at room temperature.