Jfb
If you have a vent line running from the top of the radiator to the swirl tank I would also do a check to ensure the vent tube running under the car is not blocked with rust or sludge. This is common and can happen quickly. You should be able to do a quick bleed test at the banjo connection at the top rhs of the radiator. If it does not flow coolant you could well have an air pocket in the top of the radiator despite having filled the expansion tank to the top.
If your overall cooling system has an air pocket you will have the cooling issues you describe . The upper thermostatic fan switch can also become not immersed in coolant and then be spasmodic in triggering your fans, contributing to the overheating.
I had to pull and replace this tube as the blockage , as I discovered after cutting the original tube up , ran almost the full length of the original vent tube. A new tube was the only solution.