So I picked up a Vaude Silkroad (large) from Bushtukah for $60. There were insulated lunch-style bags for $30 but I preferred the features of the Vaude: rain cover, side pockets that didn't fold down below the rack (they'd get in the way on a motorbike), internal zippered pockets, and simple Velcro strap attachment. Not sure about the water bottle holder. I'll try it out but may end up cutting it off if it proves to be more of a nuisance. The stitching will be easy to remove with a seam ripper, without affecting the integrity of the rest of the bag.
The challenge was how to mount this bag to my homemade rack. Unfortunately, the slots I'd originally cut in the rack didn't align with the strap attachments points on this narrow bag, so I needed to devise a new attachment method. I considered sewing new straps, but this was more work than I wanted to undertake and besides, I wanted to work with metal!
Some leftover stainless steel sheet from the face of our old dishwasher (I knew this would come in handy one day!) provided the basis for some simple clips that I bolted to new holes drilled in the rack. The sheet was just thin enough that I could shear it by hand, but sturdy enough that it is unlikely to snap. The slots were cut by first drilling a hole, then filing it long with a rattail file. This only took a few minutes for each clip and gave a pretty straight and smooth slot. A quick cleanup with files and emery cloth removed all burrs.
Lots of room inside for a full-size SLR camera, 1.5L bottle, and other items.
The rain cover is nice and bright. It's big enough that it encloses the rack itself, and is therefore much more secure than if it went over only the bag.