Yeah, that is a nice touch but I think what drags them down a bit is how The Doctor and others initially mistook them as evildoers. I get that it was suppose to be deliberately misleading all the way to the point the that they weren't the eponymous demons, but I feel like that diversion takes away from the larger points of the excellent episode.
Mmm... not sure. It does help hammer home the "different is not evil" point the ep was making. The whole point is that the various societies in India had fought together and then were partitioned on religious grounds. Here, despite knowing that the Doctor is alien and working with humans, we are tricked into thinking the aliens MUST be the bad guys. And the Doctor even falls prey to it herself, because of her fondness for humans...