How can I force new browser windows to open on my main display?
Have you tried running your browser in fullscreen mode? (Using the 2 diagonal arrows button in the upper right corner of the window)

I have a very similar setup and it works exactly as you are asking.


MacBook Pro connected to a Thunderbolt Display
Thunderbolt Display is the primary (with the Dock), MBP is secondary
Chrome running on the MBP screen in fullscreen mode
⌘+Tab to Chrome, which activates the app on the MBP screen
⌘+N to create new Chrome window, which appears on the primary Thunderbolt display