Preheat oven to 350 degrees. Grease and flour a bundt or tube (angel food cake) pan and set aside.
Cream butter with a mixer until it is smooth and turns a slightly lighter shade of yellow. Add in eggs, sugar, extracts, and milk and continue mixing until uniform.
In another bowl, mix flour, ginger, and sea salt. Add dry ingredients to wet mixture and beat until uniform and smooth. Add drained pineapple to bowl and stir in by hand to incorporate and ensure no dry pockets remain in the batter.
Transfer batter into prepared pan. Bake on middle rack of oven for about an hour and 15 minutes or until a toothpick inserted into multiple sections of the cake comes out clean.
Meanwhile, to make the frosting, beat powdered sugar and butter together. Add in vanilla extract and milk and continue mixing until fluffy and smooth. Frosting should be thick but not stiff.
Remove cake from pan. Cool completely then spoon frosting over top and allow to drip down sides of cake.
Notes
It is very important to completely drain the crushed pineapple as any excess moisture will make this cake come out with a gummy texture.