Index: src/wp-admin/includes/class-wp-filesystem-direct.php
===================================================================
--- src/wp-admin/includes/class-wp-filesystem-direct.php	(revision 52705)
+++ src/wp-admin/includes/class-wp-filesystem-direct.php	(working copy)
@@ -606,12 +606,12 @@
 			$limit_file = false;
 		}
 
-		if ( ! $this->is_dir( $path ) || ! $this->is_readable( $path ) ) {
-			return false;
-		}
+		/*
+		 * Silencing notice and warning is intentional to avoid extra system calls.
+		 * See https://core.trac.wordpress.org/ticket/55069
+		 */
+		$dir = @dir( $path ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
 
-		$dir = dir( $path );
-
 		if ( ! $dir ) {
 			return false;
 		}
Index: src/wp-admin/includes/class-wp-filesystem-ssh2.php
===================================================================
--- src/wp-admin/includes/class-wp-filesystem-ssh2.php	(revision 52705)
+++ src/wp-admin/includes/class-wp-filesystem-ssh2.php	(working copy)
@@ -756,17 +756,18 @@
 			$limit_file = false;
 		}
 
-		if ( ! $this->is_dir( $path ) || ! $this->is_readable( $path ) ) {
+		/*
+		 * Silencing notice and warning is intentional to avoid extra system calls.
+		 * See https://core.trac.wordpress.org/ticket/55069
+		 */
+		$dir = @dir( $this->sftp_path( $path ) ); // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged
+
+		if ( ! $dir ) {
 			return false;
 		}
 
 		$ret = array();
-		$dir = dir( $this->sftp_path( $path ) );
 
-		if ( ! $dir ) {
-			return false;
-		}
-
 		while ( false !== ( $entry = $dir->read() ) ) {
 			$struc         = array();
 			$struc['name'] = $entry;
