This is a follow-up to #11403, which noticed that the domain threads initialization code runs from OCaml code. Thus there is an interval during which arbitrary OCaml code can run before initialization (e.g. GC, async callbacks and at_each_spawn callbacks). This can cause NULL pointer dereferencing and use-after-free inside caml_thread_self and caml_enter_blocking_section. Following the discussion at #11403, it appears that the best solution is:
Targets 5.0.