You can add पहले but it is not required. 'सोते थे' is in the past imperfect tense (which is absent in English) and conveys the same thing as 'used to sleep'.
Thanks for mentioning it. This info that it is called "past imperfect tense" and lack of it in english thereof is the info that bugged for me quite some time.
I don't see how the word order is wrong, because other lessons had the time element at the beginning of the sentence. I suspect the problem here is that, 'din mein' - in the day - is not specifically in the past, unlike 'char din pehele' - four days ago. Can anyone confirm this?
The English sentence does not specify what exact time in the daytime they are sleeping. They may well be sleeping from 9am to 6pm.
दाेपहर is specifically 'afternoon'.