Through various restarts of pods, re-deployments of cattle-cluster-agent, it got to there being no cluster agents functional. I tried a suggestion from GV-KnowledgeBase to patch it from the management cluster
kubectl patch
clusters.management.cattle.io <CLUSTERID> -p '{"status":{"agentImage":"dummy"}}' --type merge
but that didn't help either. Then I re-started rke2-server on one of the control planes and it all came back to life! If only I'd thought of something as original as "Have you turned it off and on again?" earlier!