Ok, figured out a solution based on this answer: Most efficient way to create InputStream from OutputStream
Looks like I want to use a PipedOutputStream and PipedInputStream. Because we're now blocking on reading from the InputStream, I no longer want to block on the Ion call, so I removed the .get(). The final code looks something like:
PipedInputStream inputStream = new PipedInputStream();
PipedOutputStream outputStream = new PipedOutputStream(inputStream);
Ion.with(context, "http://example.com/mydata.json").write(outputStream).withResponse();
MyModel m = jacksonJsonMapper.convertValue(inputStream, MyModel.class);