Why would moving posts between threads change the watched status? The watch is on a thread, not on a particular post(s) in that thread. This is exactly the behaviour that I would want and expect. Not everyone watching the source thread is necessarily interested in the destination thread (e.g. if you are moving posts that are off-topic). If you are moving posts and someone wants to watch the destination thread, then they can set a watch on that thread.
Disagree on your first point. We will sometimes move off-topic posts to one where they are on-topic. In fact, we avoid deleting posts other than obvious spam or hate speech.
In any case, I don't see that this is a bug. The code is doing what it is supposed to do, moving the post to a different thread. There is nothing about moving a post that logically should trigger a watch on the new thread. This is probably custom or a suggestion.