> If a process has two or more threads running in it, what are the rules> regarding one thread referencing memory in a different thread's stack?

IIUC you're question is not "which weird architecture doesn't allow
them?" (since I guess you know the answer to this one, and you're
mostly interested in the Mill), but rather "which languages support
such references?".

AFAIK the rules are that inter-thread stack references are either
strictly disallowed or at best "undefined".

But even if they can be allowed, I'm pretty sure the Mill can handle
it by handling those rare cases specially (i.e. adding an indirection:
allocating them i the heap and only keeping a reference to them in the
stack).