cp_pipe's CalibCombineConnections modifies its quantum dimensions in its constructor, meaning that instances report different dimensions than the class does.
And it seems that the code path of registering dataset types via a saved quantum graph (the metadata dataset type for this task in particular) looks at the class version.
I'm inclined to say that the most immediate solution for this is to just have different CalibCombineTask and CalibCombineConnections subclasses for each set of dimensions. That's a bit of boilerplate, but it's also very easy to read and understand.
We also probably ought to fix whatever code path is looking at the class dimensions anyway, and then also look for some way to prevent new code from trying to do that. I'll create a new ticket for the former, and add the latter to DM-29658, which seems closely related.