Place the milk in a heavy-bottomed pot and set it over low-medium heat. Let it warm gradually, stirring occasionally and bring it to slow boil. Keep a watch on it to prevent it from catching at the bottom while you start roasting the nuts and seviyan.
Meanwhile, set a medium pan on another burner over low heat and melt ½ tablespoon of ghee. Add the chopped nuts and raisins (if using), stir gently as they sizzle, and fry for about a minute until lightly golden and aromatic. Transfer them to a plate and set aside.
Into the same pan, add 1½ tablespoons of ghee and let it melt slowly over low heat. Using uour hands, break the seviyan into smaller pieces and tip them into the ghee. Using a spatula, stir well to coat each strand (they will fly here and there so be ready for a mini cleanup). Roast patiently over low flame until they take on a rich, deep golden hue. This step requires slow, even roasting. If you rush it the seviyan will scorch and turn blackish. By now, the milk would be gently boiling, add the roasted seviyan and dessicated coconut to it and stir to combine. Let the mixture simmer for 7–8 minutes, or until the noodles soften and the milk is thicker than when you started.
Stir in the condensed milk, and cardamom powder. Continue to simmer for another 5–7 minutes, stirring often, until the kheer is luxuriously creamy yet still pourable.
Switch off the heat while the mixture can still flow easily from a spoon. Fold in the ghee-toasted nuts, and rose water. Allow the seviyan to cool to room temperature, then refrigerate until chilled. Serve cold, garnished with extra nuts and a light dusting of ground cardamom, if desired.