More info...
First, this is on a amd64 system, witwh 8core/16thread and 128GB of RAM.
On IRC it was suggested (thanks, maya!) that the error message might be
related to memory fragmentation. I didn't believe it (given how much
RAM I have), but a quick check with top(1) showed that I had more than
100GB of 'file cache' active. So, I unmounted all my development trees
(to force the cache to get flushed). Sure enough, I am now able to
successfully mount the USB drive!
So, sounds like "something somewhere isn't quite right (tm)". I would
have expected a memory allocation failure to automatically trigger some
mechanism to reclaim some of the file cache...
And, based on more discussion, this would seem to be a kernel virtual
address fragmentation issue, and not related to physical memory being
available. The concensus on IRC is that this is a bug in the xhci(4)
driver.