My understanding is this sig version is only for taproot keyspends, why is it allowed to be used in
It's not; that option is unreachable.
SigVersion::TAPROOT mode, there is no script to speak of, so the script interpreter is never invoked with it. See line 417 where this is asserted.
The line you link to only makes sure that calling
OP_CHECKSIGADD causes failures in the two other
SigVersion modes that are reachable.