Preheat oven to 350 degrees F. Line two 12-cup muffin pans with paper liners.
To make the filling: in a medium bowl, beat together cream cheese and sugar until smooth. Blend in egg whites and milk, mixing until filling is well-blended. Stir in coconut. Set aside.
To make the cake: in a large bowl, sift together flour, cocoa powder, sugar, salt, baking soda, and spices.
Make a well in the center and add the buttermilk, water, melted butter, vanilla extract, and almond extract. Stir together until just combined and no streaks of flour remain.
Divide cake batter evenly among 24 cupcakes. Top each portion of batter with 1 rounded tablespoon cream cheese mixture (there may be some left over).
Bake for 20 - 25 minutes. If using two racks, rotate pans halfway through baking. A toothpick inserted into cake only portion should come out with a few moist crumbs on it.
Cool in pans for 5 minutes. Filling will sink slightly as the cake cools (I assume this is if you have the coconut in there, as mine did not). Remove cupcakes to wire racks to cool completely.