I think that personally I do a lot of back-and-forth in-between forward and backward reading to construct the program logic in my working memory.
Edit: maybe, could you describe what you mean by reading backward? I read it originally as “reading from the first expression to be evaluated to the last one”, but I see now that you are talking about statements. If that’s the case I see a lot of issues related to the context/scope of a statement. Do you read, let’s say, from the last statement before closing a function, then up?