Yes, this will work fine. Two minor notes:
- GFCI breaker makes a lot of sense here
It keeps the installation simple and, more importantly, it keeps the GFCI inside. GFCI outside is subject to more problems due to temperature changes, weather, etc. A simple receptacle (which should be (a) weather-resistant and (b) covered by an in-use cover) has no electronic components to fail - it is literally just metal wires/parts with plastic/ceramic/etc. covering/insulating/holding it together. A GFCI/breaker should last for many years, likely "forever" in a practical sense if it doesn't get frequent trips. A GFCI/receptacle inside should last nearly as long. A GFCI/receptacle outside could easily fail within a few years.
- Wiring colors on switch loop
A switch loop using standard black/white cable (no neutral) is supposed to have the white wire as always hot and the black wire as switched hot. That way it is obvious if tested whether power from the breaker is on or not for safety. If the white wire is used as switched hot then you could fall into the trap of "of course the white wire has no power, it is neutral" when it isn't actually neutral - and then one flip of the switch and you get zapped. If marked (as shown in the diagram, and required by code) there wouldn't be the same potential problem, but markings have a way of being forgotten or falling off.
So, if practical, swap the switch wires in the junction box (doesn't matter at the switch as a simple switch doesn't care hot/always hot top vs. bottom) so that the black wire is connected to the red wire going to the receptacle (you can put red tape on it to indicate "switched" and to make it easier to keep track of things) and the white wire (put black wiretape on it to indicate always hot) to the other blacks.