Read this from the manual pages.
Link.
Under Login Process -
7. Changes to user's home directory.
9. Runs user's shell or command.
So when you login, by step 7 you will be at your home directory. You can change that if you want. How does cygwin handle it? I don't know, but you can look it up I'm sure. At step 9, your shell is loading so you could use a shell start-up script to switch to the directory you desire. You could use step 8, but it's not recommended since it would only work for a SSH connection. Also a shell start-up script would override the directory if it has a change direcory command. So I would recommend just changing the home directory, since it would be the easiest change to make.