I think controlling the influence is a better choice, too: it’s more flexible, maybe you want to set a smooth transition by controlling it with a float variable/channel.
As far as why the first thing doesn’t work: the IK constraint has a weird relationship with the other constraints, because it requires the computer to do a sort of backwards propagation of the data - the parents follow the children. So, no matter where in the stack the constraint lies, it is always evaluated first. I imagine the mute control was not evaluated during this step, leading to what looks like a bug. It may be intended behavior though, for all I know!
Also: out of curiosity, why turn the constraint on and off? If you’re doing IK/FK switching, there’s a better way. You need three bone chains: one deform chain, one FK control chain, and one IK control chain. The IK control is always on, and the deform chain copies the transforms of either the IK or FK chains based on the animator’s input. Rigify does it like this, with a little added spice, using tweak bones between the deform bones to give the animator even more control.
Besides from using the IK to control the robot pose, I also want to set the bone/joint rotations from the actual robot state. I guess the Rigify solution with combined IK and FK would help me in that case.