Refresh session on 400 ExpiredToken, not just 401
The PDS returns 400 with `{"error": "ExpiredToken"}` when an access
token has aged out mid-session; the previous code only refreshed on
401 (unauthenticated) and forwarded the 400 to the caller, which
surfaced to Moon+ Reader as a sync failure after ~2h of activity.