Heat 3 cups milk and coffee until just below a simmer.
In a bowl, whisk remaining 1 cup milk, egg yolks and cornstarch, whisking in sugar only when milk is heated.
Slowly whisk milk into egg mixture, stirring constantly.
Return milk mixture to pot and whisk over medium heat until thick and glossy, about 5 minutes.
Remove from heat, stir in vanilla, strain and pour half of mixture over chopped chocolate, stirring until chocolate is melted.
Place plastic wrap on surface of both puddings and chill.
To assemble, spoon chocolate pudding into 6 serving glasses. Stir macarpone cheese to soften and whisk into coffee pudding.
Spoon coffee pudding over chocolate pudding and garnish with a sprinkle of cinnamon and a dusting of cocoa powder.