In a medium saucepan, whisk together the cocoa powder, 6 tablespoons of the sugar, and salt until well blended.
Add 1/4 cup of the milk and whisk until a smooth, thick paste forms.
Whisk in the remaining milk and heavy cream until the mixture is fully combined.
Place the saucepan over medium heat. Warm the mixture, stirring constantly, until you see bubbles forming around the edges. Do not boil.
In a separate bowl, whisk together the egg yolks with the remaining sugar until smooth and slightly lightened.
Remove the saucepan from heat. Gradually whisk about 1/2 cup of the hot cream mixture into the yolks—whisking constantly to avoid scrambling the eggs (this is tempering).
Repeat with another 1/2 cup of the hot cream mixture to further temper the yolks.
Pour the tempered yolk mixture back into the saucepan with the rest of the cream mixture.
Return the pan to medium heat. Stir constantly with a wooden spoon or heatproof spatula, making sure to scrape the bottom and sides. Cook until the custard thickens and coats the back of the spoon—if you draw a line with your finger, it should hold a clear path. This typically takes 1–2 minutes.
Remove from heat immediately. Pour the custard through a fine-mesh strainer into a large bowl to catch any bits of cooked egg.
Stir in the vanilla extract.
Place the bowl of custard into an ice bath to cool it quickly, stirring occasionally.
Once cool, cover with plastic wrap directly on the surface to prevent a skin from forming, and chill for at least 2 hours, preferably overnight.
Pour the chilled custard into your ice cream maker and process according to the manufacturer’s instructions.
Transfer the churned ice cream to a freezer-safe container and freeze until firm, about 4 hours.
Serve cold directly from the freezer.