I mentioned doing what you suggest in my original post.
I had thought about IO::Scalar, but it no-op's binmode(). So you can't use that.
I believe the translation only happens on real physical disk files (I don't know about pipes, but there's no guarantee that a given platform will have pipes available).
I'd prefer to stay away from having to write to files, because many of A::Z's users are using it in web servers; writing to a file requires knowing where a temp file can be made, and might slow things down.