Why sha256 hash the user into to get a two character target directory? Wouldn't md5 be much faster and solve the same problem?
At a guess: that hash is performed relatively few times, so any performance difference is lost in the noise floor. Never having to answer "why did you use this insecure hash" or eliminating/minimising any possibility of a class of security problem is worth more.
Security is not a concern here. It's just literally bucketing ids. Also, this is not needed with modern file systems.