All answers

Do custom domain Bluesky handles work?

Yes. Pass the handle as used on Bluesky — *.bsky.social or a custom domain — with or without a leading @. On a found profile, data.profile.platformUserId is the DID, which is the stable identifier if the handle later changes.