Thanks a lot for the tips. I have previously tried with conkeyref and had the same result as with conref. The key defintion for doc_titles.dita was in the <frontmatter> and it seems like this was the deal breaker.
After moving <keydef keys="key_doc_titles" href="conrefs/doc_titles.dita"/> out of the frontmatter and in both keyscopes, I can confirm that the conkeyrefs are resolved using DITA-OT 3.x that comes with Oxygen 21.1, also with 3.3.4 and 3.4.
Now the only problem is that I get this error:
Description: [DOTJ046E] Conkeyref="key_doc_titles/id_ph_CIG_title" can not be resolved because it does not contain a key or the key is not defined. The build will use the conref attribute for fallback, if one exists.
This means that there will be lots of such errors in the real project, and it will be a pain to sort out which errors are "real" and which can be ignored.
But it's a (big) step forward!