I recently had the same issue in Drupal 9 and had a terrible time figuring it out. My view is of one content type and has several relationships, including two to content in two entity reference fields on the content type. If either of those fields was empty for a particular node, it didn't display in the view. If I removed those relationships, everything showed up, but I needed them to display some data.
In my case I solved it by checking the "Disable SQL rewriting" option (in the "Advanced" tab > Query Settings). You want to be extremely careful with this as it will disable any node access checks and may show content to users who aren't supposed to see it, so you'll have to make sure to add access controls somewhere else in the view if necessary. In my case it's done through validation on a contextual filter, or it could be the view access settings.
This seems like a Drupal bug but I couldn't find any reports of it on drupal.org.