I think this is the right track.
IMO there's no need to try to jam images into Nostr. Like you said, there's Blossom, and there are also any number of other preexisting image hosting services.
Nostr events are great at wrapping stuff in metadata. That's all kind 20 is: metadata wrapping a ref to an image. If you want to organize that into albums, you could use the drive events we've been talking about.
An integration with Immich or any other media host would probably be a small utility that can do the following:
- If desired, copy a hosted image from a private location to a public one.
- Obtain a shareable link to a hosted image.
- Wrap the image in a kind 20 event.
- Organize kind 20 image wrappers with kind 30045 drive events.
- Optionally encrypt all of these events.
- Send these events directly to another Nostr user, or broadcast them on a relay.