Before this thread gets assigned to my colleague, I'd like to offer some initial guidance or potential solutions.
In your Query, the language filtering seems missing. Will you please add the language filter by following the guide below and check if you're still having the issue?
While checking in our forum, I also found a ticket where the issue is mostly similar to the one you have reported. if the issue persists even after adding a language filter, please try following the solution mentioned in the ticket below.
I have been working on this, and I can confirm the problem.
I have been examining the process to see if the workaround for the related issue when querying posts by slug can be adapted for your scenario where you are querying contentNode, but unfortunately it is not possible.
I have added details from this thread to the internal ticket about the related issue so that this can be covered at the same time, and to help bump the priority.
From the comments on the internal ticket it looks like we are expected to do another round of work on the WPML GraphQL plugin fairly soon, and I will let you know when there is an update.
I didn't see any progress in the internal ticket, so I pinged the developer that this is assigned to, and they said that it is on their list but they have a couple of more urgent tasks that they are currently working on, but that they will move to this as soon as possible.
I'm sorry I don't have anything more specific than that to share with you right now.
We recently released 1.1 (and 1.1.1) updates to the GraphQL glue plugin, but unfortunately this specific issue was more complex to resolve than the similar problems and the particular solution for this has been pushed back to the next release (1.2).
I'm subscribed to that internal ticket, and if there is a chance to get a workaround or patch to you ahead of the actual release I will let you know.
@martinh-64 - one thing I ended up doing is querying for something that does support language where arguments. If you do it first, WPML switches the language during the query, and does not switch it back, so subsequent fields you query will also be within the language. This feels like I'm benefitting from a bug, but its a workaround for now.