This was due to kubevirt on one of our nodes not being able to be replaced due to /var being full in the virt-handler pod for that node. /var being mounted from the host (32GB memory system), which is a tmpfs at 25% of system memory.
Still not sure what caused it to be full (no other node shows similar symptoms), but upgrade went through fine after upgrading to 64Gi.
Since /var never filled again during the next run of apply manifests, I think a simple reboot would have sufficed as well.