I feel you there - I do always feel like I'm writing a lot of code for something that should be better abstracted away - if I send a u/n and p/w once, then I should be logged in until I log out (or my session is invalidated server-side), and I'm always worried that that doesn't happen properly when I use the SDK.
I THINK it does, but I got burned once when it broke last year around the 9.0.0 update, and now I struggle to trust it...
I tend to end up doing something like this: https://github.com/directus/directus/discussions/10101