Yasukotta, thank you very much for your questions.
One of the things I love about this forum is the way a seemingly simple question from a non-native speaker forces us native speakers of English, even experts in grammar, to question why we say and write things in certain ways that we normally take for granted. In fact, I hope some of my colleagues will contribute their own opinions here.
I agree that "next-door" should be hyphenated when it comes before the noun "neighbor". As such, it means "the neighbor who lives at the next door", not "the door neighbor that is next", as it would without the hyphen (and which wouldn't make any sense).
When "next door" is placed after the noun "neighbor", the hyphen is inappropriate because "next door" must be considered a reduction of the prepositional phrase "at the next door", or even the entire clause "who lives at the next door".
Ultimately, though, "my next-door neighbor" and "my neighbor next door" mean the same thing. Before I learned how to read and write, I actually thought that my mother and sisters were saying "neck store", which conjured horrible images in my childish mind.
If you live in an apartment building, your apartment probably has only one front door, and your neighbor on either side could be said to be your "next-door" neighbor. The same is true if you live in a small house that has only one door in front. But what if you live in a large house that has many doors in front?
Literally speaking, in such a case, we might suppose that your "next-door neighbor" actually lives in the same house with you. But the English language doesn't work that way. We never say "my next-house neighbor". If you live in a house, your next-door neighbor lives in another house, regardless of how many doors you have.
I hope I have answered your questions.