"Who is our science teacher this year?"
That looks technically correct, but in reality people much prefer to say X是谁 rather than 谁是X.
The reason is information structure: In declarative clause, you can usually put all your words into two categories: “old” information (stuff that you expect the other person to already know about) and “new” information (stuff that you want to tell them). Many languages, including Chinese, have a strong tendency to put the old information as close to the beginning, and the new one as close to the end as possible. Actually English has this tendency, too, albeit not quite as strong as Chinese. It’s the reason you would normally say “my science teacher is xyz” rather than “xyz is my science teacher” – unless you’re in a situation where xyz has already been mentioned previously and the new information is his position as your science teacher.
So in English, just like in Chinese, you would put the answer to our “who is our science teacher” question at the end of the sentence, because the identity of that teacher is the new information. And since Chinese leaves question words in the same place where the answer will be, it is much more common to put the question word late in the sentence as well.
You can technically do that but it's more natural to put the question word later in the question where possible. It's just the Chinese way of structuring information to try and put known things earlier than new information.
This also has to do with topics because you can only make something a topic if it is "old information" (e.g. something which has come up before or a general category). Phrases that involve question words by definition ask for new information so they cannot be the topic (this is the reason why "as for our new teacher, who is it?", is ok but "as for whom, is s/he our new teacher?", isn't). So it's much more natural to put the known information "our science teacher this year" first where it can double as subject and topic, than to put the question word first, in which case there would be no overt topic (so the listener might misunderstand and think an earlier topic carries over).
“我们今年科学的老师是谁” is probably technically speaking not wrong, but it sounds weird to me. It’s much better to put 的 behind 今年. The reason is that 科学 and 老师 are bound together much more closely, almost like a single word, whereas 今年 is only an attribute.
”谁今年我们的科学老师” is missing 是, so it doesn’t work.