Preheat the oven to 220C/200C Fan/Gas 7. Lightly grease two baking trays.
To make the pastry, put the butter and 150ml/5fl oz water in a small pan. Heat gently until the butter has melted. Bring slowly to the boil, and then remove from the heat. Quickly add the plain flour and, using a wooden spoon, beat until the mixture forms a soft ball. Return to the heat and beat for a further minute.
Leave to cool slightly. Add the beaten eggs a little at a time, mixing well between each addition until you have a smooth pipeable mixture. Spoon the mixture into a piping bag fitted with a 1cm/½in plain nozzle. Pipe 20 small mounds onto the prepared baking trays, leaving room for them to spread. Flick water over the tray to create steam when baking.
Bake for 10 minutes. Reduce the oven temperature to 190C/170C Fan/Gas 5. Cook for a further 10 minutes, or until well-risen and a deep golden-brown. Remove and make a hole in the bottom of the buns to allow the steam to escape. Leave to cool on a wire rack.
For the filling, put the milk and vanilla extract in a heavy-based pan and slowly bring to the boil. Remove from the heat and leave to cool for 30 seconds.
Meanwhile, in a medium bowl, whisk together the egg yolks and caster sugar until pale, then whisk in the cornflour and plain flour. Pour the vanilla-infused milk over the eggs, whisking continuously, then pour back into the pan.
Bring to the boil, whisking continuously over a medium heat and cook for one minute, or until thickened. Add a dash of red food colouring and stir thoroughly until it has an even colour. Pour into a bowl and cover with cling film. Leave to cool for a few minutes, then transfer to the fridge to chill.
For the the icing, put the chocolate in a heatproof bowl set over a pan of gently simmering water (making sure the bowl doesn't touch the water). Add the butter and 4 tablespoons water. When the chocolate is melted and well combined with the butter, remove it from the heat and beat in the icing sugar until smooth.
When the profiteroles are cold, spoon the red crème patissiere into a piping bag fitted with a small plain nozzle. Fill the profiteroles then dip each one into the icing to coat the top. Leave to set, then serve.