Why are some lines marked as not covered in my merged reports?

This is the build with the issue:

UnitTestCompatibilityCodeception.php has 100% coverage but UnitTestCompatibilityPHPUnit.php only has 80% coverage because of an else and two closing braces (I’ve turned off PHP report fixing to show if closing braces are reached or not). The two files have a similar structure with a bare else in the same place.

How can I get the coverage in UnitTestCompatibilityPHPUnit.php the same as the coverage in UnitTestCompatibilityCodeception.php? They’re mutually exclusive. One is only run under Codeception, the other only under PHPUnit which is why I have to merge the two reports together. Both reports are XML files in Clover format.