Dihen,
The first sentence "I was at home reading a book" is perfect. You may also say " I was reading a book at home". But the first sentence stresses the fact that you were home. So, you might say something like this when you are talking to a policeman when I has asked what you were doing at a certain time. It is not necessarly bound to the situation that I have just given you. It is only an example, you can use this sentence in every context as far as I'm concerned.
The other two sentences do sound a little bit awkard indeed. Besides the word order there is nothing wrong with them.
One of the rules in the English language says that the best place for a time indication (Yesterday) is at the beginning or at the end of the sentence. And you will see and hear that the sentence sounds much better, it sounds much more "English"
1 -> Yesterday, I was at home reading a book.
2 -> Yesterday, I was reading a book at home.
3 -> I was reading a book at home yesterday.
When you make a sentence with an indication of place and time, the best thing you can do is to put the indication of place just before the indication time. So, like in example sentence 3.
The last sentence sounds really strange indeed, it's a good thing that you point it out yourself. The time indication "yesterday" is not where it supposed be

You are free to put it at the beginning or at the very end of the sentence and that is it perfectly fine
Interesting topic this is !
Kind Regards
Johan