By what I've understood from zRrr's explanation, the workaround rather than a fix that you can implement is to add
STR_HOSTILE:
globalChance: 0
STR_NEUTRAL:
globalChance: 0
to every single enviroEffects you've defined, under the environmentalConditions parameter, before or after the definition for STR_FRIENDLY.
With this said, I agree that this appears to be more an issue with how these effects are being handled and is not exclusive to this mod, but to any that uses enviroEffects. If the issue is as described, the workaround will work for your mod because you don't define any effects for those two factions and thus we can "disable" them without losing any of the mod's features.
As for what's happening, again based on zRrr's explanation and my understanding of it and the topic's title, is that when the last standing hostile unit dies from bleeding, probably from other DoT too, and environment effects are active, that part of the code will mark said unit as dead, but is not performing the part where a corpse item is generated nor is it dropping the unit's items to the ground effectively vanishing from the debriefing. If this is the case, this could happen with more than one unit, but rarely since they would all have to die on the same turn. When the game ends the mission without the environment effects it handles this last death properly by generating the corpse (or capture if it fell unconcious) and all of its equipment.