As far as I'm aware, installing a GFCI upstream of lights and receptacles is sometimes preferable. The GFCI would indeed provide the protection you seek.
The wiring scheme you want looks adequate. When you say "3wire", a 3-wire non-metallic cable comes to mind. That would have three conductors and a grounding wire in the sheath. However, the third conductor (commonly the switched hot) is not required in this case unless you want to use two three-way switches with this light. One single pole switch will only need the hot and neutral, along with the ground.
In wet conditions, you will want a waterproof receptacle and/or cover. They do indeed cost more, but are necessary if there's a chance water will end up splashed in the GFCI. The cost difference is a whole lot less than a trip to the hospital for a near-lethal shock.