The docs say in one place that ACTION_CREATE_DOCUMENT cannot overwrite:
ACTION_CREATE_DOCUMENT cannot overwrite an existing file. If your app tries to save a file with the same name, the system appends a number in parentheses at the end of the file name.
https://developer.android.com/training/data-storage/shared/documents-files?#create-file
Somewhere else they say the result may be an existing document:
The returned document may be a newly created document with no content, or it may be an existing document with the requested MIME type.
https://developer.android.com/reference/android/content/Intent#ACTION_CREATE_DOCUMENT
On the devices I have tried, the file picker allows overwrite. You cannot just confirm the same name in the field: that creates a new file (a duplicate with (n) in the name). But you can tap an existing file in the list, and then it offers to overwrite that file.
There is also https://issuetracker.google.com/issues/37136466 — marked fixed, but it does not say how overwrite is supposed to work or on which pickers.
Can I assume that overwrite is reliable, or are there devices / file pickers that do not allow overwrite?