2, 3. There is indeed a bug with the neutrals. The developers simply didn't consider that an army could consist of identical units, i.e., they completely forgot about the neutrals!
Let's look at a specific example. A hero with a gargoyle attacks nine dragons (2+2+2+2+1) and retreats. The neutrals don't suffer any losses, but all five slots are of the same type. Slot identification is based only on the type of neutral in it, starting from the leftmost. Let's move directly to the fifth slot. After the hero's retreat, the initial number of dragons remains in it - 1. The game, following the principle that all five types of troops in the army must be unique, begins to search for where to record this remainder, from left to right. In the very first slot, it finds a dragon! Thus, the remainder of the fifth slot is recorded in the first (and all other remainders are recorded in this way). As a result, we get that after the battle, there are already 1+2+2+2+1 = 8 dragons! It gets even more interesting if you kill the bottom dragon: the remainder will be recorded in the first slot, and as a result, there will be only 0+2+2+2+1 = 7 dragons left!
The same applies to identical units in heroes' armies. Let all five stacks be filled with paladins. There are 100 paladins in the first four stacks, and 1 in the last (a total of 401). Kill one paladin from the fifth stack and retreat. The number of paladins in the enemy will become 0+100+100+100+1 = 301. This is how you can destroy 100 paladins with one blow :)