At 4th level, the dwarf gets more hit points and and an increase to his attack roll bonus, which sadly does not help him against the zombies as he is already hitting on a natural 2:
Str 17, Dex 14, Con 15, Int 8, Wis 12, Cha 10.
AC 16, HP 50, Hit Dice 4d12 + 2d8
Greataxe: +7 vs. AC, Damage 2d6+1d8+3 or 2d6+3 and Cleave
This time, both the zombies and the dwarf had somewhat more "normal" luck, hitting and Cleaving closer to the expected frequencies. The dwarf still managed to beat all 21 zombies (four fights against four zombies plus one fight against five zombies) without the need to take an extended rest. He did take short rests to replenish hit points between fights, but as it turned out, he did not actually need to do so (but it was close).
The dwarf was luckiest in the first fight, as he managed to take down all the zombies without being hit once. He killed one zombie in the first round, two in the next round with Cleave, and the fourth zombie in the third round.
The second and third fights were similar to the first, except that the zombies managed to hit him twice in the second fight and once in the third fight, dealing a total of 9 and 6 points of damage respectively.
The dwarf's luck took a turn for the worse in the fourth fight. Although he killed one zombie in the first round, two out of the three remaining zombies managed to hit him on their turn, dealing a total of 9 points of damage. He managed to kill one zombie in the second round, but his second attack from Cleave failed to kill the zombie he hit. The two remaining zombies attacked him and one hit, dealing 6 points of damage. The dwarf managed to kill another zombie on this third round, but again failed to kill the last one with Cleave. The last zombie made one more attack before it was killed in the last round, but it missed. All in all, the zombies did 15 points of damage to the dwarf in this fight.
In the final fight againt five zombies, the dwarf suffered an initial run of bad luck. After killing one zombie, he was attacked by the remaining four and was hit three times for the maximum of 18 points of damage (one critical hit and two maximum damage rolls). In the second round, he did not even manage to kill one zombie due to a low damage roll, so his Cleave ability was not triggered. After that, the dwarf's luck returned, and the zombies kept missing him. He killed off two zombies with Cleave in the third round, and the last two in the fourth.
All in all, the dwarf sustained 48 points of damage in the course of fighting the 21 zombies, 2 points less than his full normal hit points. Of course, being able to take short rests to recover hit points ensured that he went into every fight at close to full hit points, so even in the final fight, the hit point loss wasn't particularly worrying. Although this series of fights seemed relatively tougher than the previous ones, they still seemed easier than what I would expect for an above "average" to slightly under "tough" difficulty range.