The posteriors on twoHead and threeHead should not be equal. You are observing twoHead to be false, so the posterior on twoHead must be Bernoulli(0). This observation means that posteriors on firstCoinHead etc are correctly reduced (if you run
ie.Infer(firstCoinHead) you will get a Bernoulli(0.2764) and likewise the others). threeHead on the other hand is not constrained but its posterior will be affected by the observation on twoHead via the dependency on firstCoinHead etc.