On a multilingual Drupal 8 site, one is unable to change the publish state of one translation of a node without changing the publish state of all the other translations.
Certain contributed modules write entity-level node access permissions to the
node_access table incorrectly, in the presence of translations.
Setting a translation of a node to "published" or "unpublished" effectively changes the publish state for all the other translations of the same node. In the Translations tab, the correct publish state is shown for each translation. But if the last change was to publish a translation, an anonymous user can view all translations as if all were published. Conversely, if the last change was to unpublish a translation, an anonymous user receives a 403 response for all translations.
Resolution:Patch or uninstall the module in question.
(1) View Unpublished
See: https://www.drupal.org/project/view_unpublished/issues/2784887 Patch is in "needs review" status as of 2020-03-04.
No patch as of 2020-03-04, but uninstalling the module appears to fix the translations publish state problem.