Preheat oven to 350°F. Spread pecans in a single layer on a rimmed baking sheet; toast until darkened slightly and fragrant, 10 to 12 minutes. Let cool slightly, then finely chop.
Brush a 10-to-15-cup Bundt pan with butter; dust with flour, tapping out excess. In a saucepan, stir together shredded coconut, cream of coconut, and 2 tablespoons flour. Bring to a boil, then reduce heat to medium and boil 30 seconds. Remove from heat, stir in pecans, and let cool completely. Meanwhile, stir together milk and vinegar; let stand until curdled, about 5 minutes.
In a bowl, whisk together remaining 2 cups flour, cocoa, baking soda, and salt. In another bowl, beat butter with sugar on medium-high speed until pale and fluffy, 2 to 3 minutes. Add eggs, one at a time, beating well after each addition. Beat in vanilla. Reduce speed to low and beat in flour mixture in three additions, alternating with milk mixture, and beginning and ending with flour, just until combined. Beat in chocolate.
Pour batter into prepared pan, and smooth top with a spatula. Spoon coconut mixture evenly on top of batter in a ring, leaving an approximately 1/2-inch border all around sides and center. (It will sink down into the batter as the cake bakes.)
Bake until a wooden skewer inserted in center of cake layer comes out clean, 45 to 50 minutes. Let cool in pan on a wire rack 20 minutes. Invert cake onto rack; let cool completely.