Heat the oven to 180C/350F/gas mark 4. Grease a 23cm cake tin and line with baking paper.
Cream the butter and sugar until almost white and fluffy. Add the eggs and salt and mix until fully incorporated. Add half the flour until just combined. Add the coconut milk and mix until combined. Then add the remaining flour and mix well.
Pour the mixture into the cake tin and smooth the top. Bake in the oven for 40-50 minutes, until a skewer inserted into the centre of the cake comes out clean and the cake springs back to the touch. Let the cake cool completely in the tin.
To make the filling, put the coconut milk, sugar and water into a heavy pan and place over a moderate heat. Stir to dissolve the sugar and then turn up the heat to high. Add the cornflour mixture to the pan with the salt and whisk until thick. Pour the mixture into a bowl and press clingfilm over the surface. Let it cool, then chill in the fridge for at least 2 hours.
To make the syrup, heat all the syrup ingredients together in a small saucepan and cook over a medium heat for 5 minutes.
Split the cooled cake into 3 layers. Drizzle with the syrup, and sandwich with the coconut filling. Cover the top and sides of the cake with whipped cream and sprinkle with generous amounts of coconut shavings.