Rinse the rice under cold water until the water runs clear. This removes excess starch and prevents the pudding from becoming gummy.
In a large, heavy-bottomed saucepan, combine the rice, milk, sugar, and salt. Bring the mixture to a gentle boil over medium heat, stirring frequently to prevent the rice from sticking to the bottom.
Once it reaches a boil, reduce heat to low. Allow the mixture to simmer uncovered for about 30-35 minutes, stirring occasionally. You'll notice the mixture gradually thickening as the rice absorbs the liquid and releases its starch.
In a small bowl, whisk the eggs lightly. Temper the eggs by slowly adding about 1/2 cup of the hot rice mixture while whisking continuously. This prevents the eggs from curdling.
Gradually pour the egg mixture back into the main pot, stirring constantly.
Add the butter, vanilla extract, ground cinnamon, and raisins (if using). Stir well to incorporate all the elements.
Continue cooking on low heat for another 5-7 minutes, until the pudding has thickened slightly more but still maintains a creamy consistency.
Remove from heat and stir in the lemon zest if using. Transfer to a serving dish or individual ramekins.
Let rest for 10-15 minutes. The pudding will continue to thicken as it cools.
For the traditional presentation, sprinkle additional cinnamon on top before serving.