Wire Line to GFCI Switch Combo to Outlet
Install a 2-pole GFCI breaker in the panel
This is what's called a multi-wire branch circuit or MWBC.  It is 2 sub-circuits fed off separate breakers. These 2 breakers are handle-tied because that is a safety requirement for MWBCs.  That is also why neutral is pigtailed.
The split receptacle is a very typical use of an MWBC to deliver 2 sub-circuits to one recep.  The switching is a neat trick.
The only way you can make this setup GFCI is to install a 2-pole GFCI breaker in the panel.  Individual GFCI devices will not work because there isn't space for them.
Note that your current breakers are half-width (we call 'em &quot;double-stuff&quot;) and that means you will need to find some more space in your panel. There's no such thing as a half-width GFCI breaker.

However, if you are able to run new cable between the switch and receptacle, and are able to blow out the under-sink receptacle into a 2-gang, then you could fit a GFCI+switch device in the current switch location, and a plain recep and GFCI downstairs.  use either 2 cables or /2/2 cable; mark one of the cables' wires purple and gray (gray=neutral), and the other hot wire red.

In the under-sink box, red+white land on a GFCI receptacle that powers the dishwasher.  Purple+gray land on a plain receptacle that powers the disposal.
In the switch box, Red + white wire as before. Black+white go to the LINE side of the GFCI+switch.
Purple to one of the switch pigtails. The other switch pigtail to LOAD hot.  Gray to the LOAD neutral of the GFCI+switch.

The key to it is the separate neutrals past the first GFCI. That's why you can't do it with cables as-installed except by using a 2-pole GFCI breaker.