It's encryption both at rest and on transit. At rest there are levels of encryption, at object level or at filesystem level. E2ee for immich would mean the objects are encrypted and transmitting the data is encrypted. If the scenario is the server is stolen, you need encryption at rest. Even at FS level is enough.
I've seen a lot of companies use "e2ee" to basically just mean encryption during transit, not even in rest. It's wrong, but I can see where this idea can propagate.
That’s actually true, but that’s a different issue - companies lying in their marketing materials, making claims that do not match the reality (or well-established definitions, if a company choses to mean something else and call that E2EE).