yes, "kemarin" means yesterday and "besok" means tomorrow
that's not fully incorrect. sometimes indonesian people use "kemarin" referring to the past time/activity they had, like "kemarin saat aku ke jakarta" which literally means "yesterday when I went to jakarta". that doesn't always mean that she visited jakarta yesterday but maybe last month. she refers to the last time when she went to jakarta.
it's rather similar to the use of tomorrow. we sometimes say "besok-besok jika ada waktu luang" literally means "tomorrow if I have free time". in that context "besok" means next time which is we don't know when we will have free time, maybe next week, maybe next month.
hope it helps. if you still confuse, feel free to ask :)