Make the soup: Melt butter in a large Dutch oven or heavy bottomed pot over medium-high heat. Add chopped shallots and garlic, and sauté 5 minutes or until golden. Add apples and sauté about 5 minutes, until they begin to soften. Stir in grated ginger, paprika, broth, pumpkin, salt, and pepper. Bring to a boil, reduce heat to low, and simmer, stirring occasionally, about 20-25 minutes. Remove pot from heat and let stand 10 minutes.
Carefully blend soup with a handheld stick blender until fairly smooth. Stir in heavy cream (or coconut milk) and additional salt and pepper, to taste. If soup seems too thick, add additional broth until desired consistency is reached. Place pot back over medium heat and continue to cook for 5-10 minutes.
Make the coconut cream: Place cold heavy cream and salt in a chilled bowl; beat at medium-high speed with an electric mixer until foamy. Add coconut milk and beat until soft peaks form.
When ready to serve, pour soup into small shot glasses or cordial glasses. Top each shot of soup with 1 teaspoon of coconut cream and a few coconut flakes prior to serving.