Thank you for replying, Albert.
I'm focusing on developing a macOS app using non-SwiftUI app lifecycle. I would need some SwiftUI-AppKit bridging in this project, and I might want to use Xcode Previews also on AppKit view controllers.
I'm encountering the problem described in the first post, meaning that I can't experience both Xcode Previews and Storyboard well as expected. That popup window can be moved away, but it reappears back at the initial position every time I write source code.
I created the first post a bit prematurely. Sorry for that.
I noticed that it's nothing about the entry point. Instead, it's about making any instance of window controller from storyboards — instantiateInitialController() I used before, and other instantiate… methods. Just make a window controller from a storyboard and show its window (e.g. in applicationDidFinishLaunching(_:)). Only NSStoryboard trigger the problem, while NSNib don't.
I also noticed that the mechanism behind the problem also works when the Xcode window is not full-screen. Those windows are just "hidden" in the background so we're not interrupted as in full-screen.

From my conclusion I think this is a bug or technical limitation. I'll prepare the demo later if you're interested.
If you intend to use SwiftUI, I would suggest sticking to that framework.
Thanks for your suggestion. SwiftUI is better in most cases, but SwiftUI app lifecycle for macOS isn't powerful enough for me.