I'm basing my suspicion on this snippet:
<GameModifier>
<ModType>Unit</ModType>
<Attribute>AdjustUnitStat</Attribute>
<StrVal>UnitStat_Attack_Boost</StrVal>
<StrVal2>UnitStat_HitPoints</StrVal2>
<Value>40</Value>
<BonusValue>20</BonusValue>
<Provides>+40 Attack vs enemies with less than 20 Hit Points</Provides>
<vsLower>1</vsLower>
</GameModifier>
This appears to be max health, not current health, based on how it's used everywhere. Current health can be queried in CoreSpells using a CDATA statement, but to get current health elsewhere, I think you need to take UnitStats_HitPoints and subtract UnitStat_Damage.
I did a very limited test in a new game, though, vs. enemies with 36 max health. Here are the numbers on the attacks when they had less than 20 health - level 10 Assassin in all cases, with a base 11 Attack:
Without Death Blow (took Break instead): 6, 9
With Death Blow: 8, 6:
With Death Blow, opponent with 17/17 health: 43
It's pretty clear to me that Death Blow applies to max health only.