1. Heat oil in a 10- to 12-inch frying pan (with sides at least 2 in. high) over medium-high heat. When hot, add onion and garlic; stir until limp, about 5 minutes. Add rice, cinnamon, coriander, cumin, turmeric, salt, paprika, and pepper; stir to coat. Add broth, lemon juice, pumpkin, currants, and preserved lemon. Bring to a simmer.
2. Reduce heat to low, cover, and cook until liquid is absorbed and rice is tender to bite, 20 to 25 minutes. Fluff with a fork and stir in pistachios and cilantro.