As far as I understand there is a module Ancient which I can use to tell the GC to ignore my array but, if I understand well, it would only work if I use my array in a read only fashion.
You cannot have pointers from Ancient heap to OCaml heap unless you do weak pointer management (e.g. in the finalizer of a value). Otherwise I think you're fine with modifying Ancient.