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
Right click on Chrome icon on your Dock, select "Options", and check that you didn't have Chrome assigned to a specific monitor. You can select "None" or specify your main monitor, as you prefer.