In answer to your general question of
So I am curious: What did I do to disorientate migrations? And what can I do to get it working with just one initial migration?
I've just had the same error message as you after I merged several branches and the migrations got confused about the current state of the database. Worst of all, this was only happening on the client's server, not on our development systems.
In trying to work out what was happening there, I came across this superb Microsoft guide:
Microsoft's guide to Code First Migrations in Team Environments
Whilst that guide was written to explain migrations in teams, it also gives the best explanation I've found of how the migrations work internally, which may well lead to an explanation for the behaviour your seeing. It's very worth putting an hour aside to read all of that for anyone who works with EF6 or below.
For anyone brought to this question by that error message after merging migrations, the trick of generating a blank migration with the current state of the database solved things for me, but do be very sure to have read the whole guide to know if that solution is appropriate in your case.