Hello Andrea :-)
I did an analysis of "Rotated Pole" implementations in UCAR library and 
PROJ a few months ago for trying to reverse engineering their 
mathematical definitions. It was an attempt (still in progress) to get a 
formal definition of this operation method in a way similar than what 
EPSG does. My current understanding of the situation is documented there:
   
https://github.com/opengeospatial/MetOceanDWG/blob/main/MetOceanDWG%20Projects/Authority%20Codes%20for%20CRS/Pole%20rotation.md
In summary, while CF-convention cites only one pole rotation method 
(namely "rotated_latitude_longitude"), the UCAR netCDF library has two 
implementations: the above cited one and "rotated_latlon_grib". The 
source code of those two implementations look totally different, but 
they are really the same thing computed in different ways. The major 
difference is that "rotated_latitude_longitude" rotates the /North/ pole 
while "rotated_latlon_grib" rotates the /South/ pole. Rotating the wrong 
pole causes an error of 180° in longitude and 90° - φ (or something like 
that, I do not remember exactly) in latitude, which looks like what you 
are observing with Africa. The method defined by CF-Convention rotates 
the North pole, while the method defined by World Meteorological 
Organization (WMO) used in GRIB files rotates the South pole.
Note: looking at the math, it appears that we do not need two distinct 
implementations for the North pole and South pole cases. We can use the 
South pole rotation (the one defined by WMO) as the fundamental 
definition, and express the Norh pole case (the one defined by 
CF-Conventions) with a transformation applied on the input parameters 
before to delegate to the formulas of the South pole case. The above 
link gives examples for testing the same coordinate operations with 
UCAR, PROJ and Apache SIS libraries.
    Martin