The night before making the ice cream, place the base of your ice cream maker in the freezer, ideally in the coldest part.
In a medium pot over medium heat, combine the whole milk, 1 cup of heavy cream, and vanilla. Heat until it simmers, but do not let it boil.
In a large bowl, whisk together the egg yolks, sugar, and salt until well mixed.
Once the milk mixture is simmering, slowly pour it into the egg mixture while whisking continuously to temper the eggs. Start with a small amount of the hot milk, whisk quickly, and then gradually add the rest.
After all the milk is incorporated, whisk in the espresso powder until fully dissolved.
Return the custard mixture to the pot and heat over medium-low, whisking constantly until it thickens enough to coat the back of a spoon and reaches 170F-180F. Avoid increasing the heat to prevent scrambling the eggs.
Remove from heat and strain the mixture through a fine mesh sieve into a clean bowl for a smooth texture. Cover and refrigerate for at least 4-6 hours or overnight until completely chilled.
While the ice cream base cools, prepare the brownies. Preheat the oven to 350F and line two quarter sheet pans (or two 9x13” pans) with parchment paper.
In a small bowl, melt the butter and chocolate chips together in the microwave in 20-second intervals, stirring in between until smooth. Let it cool slightly.
In a medium bowl, whisk together both sugars, eggs, and vanilla until frothy.
Once the chocolate mixture has cooled a bit, add it to the egg and sugar mixture and whisk until fully combined.
Gently fold in the flour, cocoa powder, and salt. If using, fold in the mini chocolate chips.
Divide the brownie batter evenly between the prepared pans and spread it into an even layer.
Bake in the preheated oven for 13-15 minutes, until the top is shiny and crinkly, the edges are set, and a toothpick inserted in the center comes out with a few moist crumbs.
Remove from the oven and let the brownies cool completely, which may take a few hours. You can speed this up by refrigerating them after 30 minutes at room temperature.
Once both the ice cream base and brownies are completely chilled, line a deep 9x13” pan with plastic wrap, allowing it to hang over the sides.
Churn the ice cream by whipping the reserved 1 cup of heavy cream to soft peaks, then gently mix it into the chilled custard base until fully combined.
Transfer the mixture to your ice cream maker and churn according to the manufacturer's instructions, usually about 20-25 minutes until it reaches a soft serve consistency.
When the ice cream is ready, add the chocolate chips or chopped chocolate and churn for an additional 3-5 minutes until evenly distributed.
To assemble, place one brownie layer in the bottom of the lined pan. Spread the churned ice cream evenly over the brownie layer.
Carefully place the second brownie layer on top and gently press down. Use the plastic wrap to cover and freeze for at least 6 hours or overnight.
When ready to serve, prepare the chocolate coating by melting the chocolate chips and coconut oil together in the microwave in 20-second intervals until smooth.
Remove the ice cream sandwiches from the freezer and cut them into 12 equal pieces. Dip half of each sandwich into the chocolate coating and place them on a cooling rack.
If desired, sprinkle flaky sea salt on top of the chocolate-coated portion. Return to the freezer until ready to serve, or enjoy immediately.
