I recently had this same issue. Extremely annoying and I find it hard to believe that nobody seems to have an answer. This has been going on for years and Apple and many other forums with this issue just seem to drop off with no answer. Like as if that's somehow acceptable? Anyway. I was able to resolve this issue on my system just using my own logic and trying to guess as to what's happening. My situation was this... I have a Mac Pro Tower running OS 10.10.5 (Yosemite) with a Cinema Display (with display port connector) connecting to a video card with an HDMI to Display Port cable. On this same video card I have a second monitor (Dell) connected to the DVI port. My main monitor is the Cinema Display, always has been.
One day, my cat was playing behind my computer and pulled my display port cable out of the back and effectively disconnected my main monitor (Cinema Display). So I had to power on my 2nd monitor, which I only do when working on specific type work. So it's not every day. Anyway, the login screen was now on that monitor since it could not longer see the cinema display. Once I realized what probably happened, I went behind my computer and sure enough, the cable wasn't connected. So I plugged it back in... Now I should be back to normal, right? Nope... Now, when I boot up I don't have the login screen on my main monitor. It's on the 2nd monitor (the one that gets turned on only once or twice a week at best). Real pain in the... Ya, so I check in my Settings-->Displays-->Arrangement and my Cinema display is properly set as the main display (It has the white menu bar at the top of that screen). This is fragmented however. Because the way I see it, there are two parts to a "Default Display" (nobody seems to talk about this). The first part is what computer are you logging in on? The 2nd part is which display has your dock and main icons/desktop? Strangely my login is on the wrong screen, but my dock and icons are on the correct screen (My Cinema Display) after I login.
ATTEMPTING TO FIX THIS: Many people on this and other forums are talking about which physical port you're plugged into making a difference, but the people trying to change it around (which is not always possible due to display types (i.e. my Cinema Display doesn't have a DVI connector, nor am I about to start buying connectors for something that has worked for about 2 years so far the way it was). But, the truth is, it's not correct. That is not a valid or sensible solution. I unplugged my 2nd monitor (powering it off is not enough), then immediately my Cinema display becomes my default login screen and obviously default monitor. But that doesn't solve the problem, because when I then plug in my 2nd monitor, then reboot, we're back to the same problem, login screen on the 2nd/wrong screen again.
ACTUALLY FIXING THIS: In my attempts, I was almost there, but just needed to take it one step further. Here's what finally worked for me. You have to physically unplug the second monitor. Boot up, login. Then shutdown. Then power up again (still with no 2nd monitor), then login again. Then shutdown again. Now, plug your 2nd monitor in. Power up and your hardware should have made note that this is, in fact, the 2nd monitor and the monitor you had powered up and down the past 2 times will remain your DEFAULT for both logging in and for your dock/desktop.
DISCLAIMER: Of course this worked for me, but it doesn't mean it's the solution for your setup. Maybe you can try this and if it works reply to let others know. If it is a workaround/solution then maybe we've got something for everyone or at least another group of people where the previous attempts at a solution failed. Good luck friends. 🙂