Hey! If you read the help for localindices you can see that it is just a convenience function. You can distribute the work as you wish, unconstrained by localindices. The memory is shared by all the workers (for read/write purposes).
So you can do things like @fetchfrom 2 a[8] = myid(). Though 8 is not a “localindex” on 2.
If you want more control over distribution and ownership of memory, check out DistributedArrays.jl.
Cheers!