The soul goes to the one who killed the dragon. So if you did 99% of his HP and then a guard fires an arrow at him, you won't get the soul.
You count as your weapons, your spells and your summoned pets. Not sure about companions as I haven't used one so far.
Not true, as long as you hit one at least once you get credit. Countless times the guards or my companion has gotten the final blow and i still got the soul. However once i let guards fight a dragon themselves while i had no companion with me and the body disappeared instantly once it died. (this was the only time i wasn't able to loot it or get its soul)
But ya, ima go with it being a bug in the ops case.