Yeah, well, too bad systems go insane sometimes, hey.
At a glance, the expectation of always having somewhere to put the
database appears baked in pretty hard, and making it a "don't worry
about it" issue seems more trouble than it's worth;
with some ahead-of-time config manipulation it's possible to put
set recdir=/tmp
in /etc/vi.exrc, which does work around this.
Nevertheless, without it, because exrc is off by default,
it's impossible for non-root to have a functioning vi with a ro rootfs,
sans setting HOME somewhere writable,
and abusing that in lieu of a directory startup file,
but the ergonomics of that are, well.
Best,
наб