Melt butter in a soup pot over medium heat. Add minced onion and salt; cook and stir until onion is soft and golden, about 10 minutes.
Pour chicken broth and water into the pot. Bring to a boil, reduce heat to medium, and simmer 15 minutes.
Place asparagus pieces in simmering broth. Cook, stirring occasionally until asparagus is just tender and still bright green, 5 to 10 minutes. Remove from heat.
Use an immersion blender to blend soup until smooth, about 3 minutes.
For a finer texture, strain soup through a mesh strainer. Return strained soup to the pot and place on the stove.
Turn heat to low. Season with cayenne pepper, black pepper, and nutmeg. Adjust salt to taste. Whisk 1/2 cup cream into soup.
Place 1/4 cup cream, Parmigiano-Reggiano cheese, and lemon zest in a small bowl. Whisk until frothy and slightly thickened, about 1 minute.
Ladle soup into bowls. Drizzle a spoonful of Parmigiano-Reggiano-lemon cream on top of each serving and swirl to form a random design.
Sprinkle with a pinch of lemon zest and cayenne pepper, if desired.