So, 1.7.1 is the latest version of ansible, you are running an older version which we realistically can't answer questions about here.
That being said, in each case, you have said to insert at the start of the file.
That all being said, there's never been a bug where that array has been processed out of order - so can you confirm it's exactly in that order in both your playbook and the output, and was not typed in manually, and that there is no other occurance of those lines in the file that might have been copied/pasted instead?
with_items has always run in order and the BOF part should be completely deterministic.