Index: src/wp-includes/meta.php
===================================================================
--- src/wp-includes/meta.php	(revision 48411)
+++ src/wp-includes/meta.php	(working copy)
@@ -508,7 +508,7 @@
 		return $value;
 	}
 
-	return get_metadata_default( $meta_type, $meta_key, $single, $object_id );
+	return get_metadata_default( $meta_type, $object_id, $meta_key, $single );
 }
 
 /**
@@ -544,6 +544,7 @@
 	 * Returning a non-null value will effectively short-circuit the function.
 	 *
 	 * @since 3.1.0
+	 * @since 5.5.0 Added the `$meta_type` parameter.
 	 *
 	 * @param mixed  $value     The value to return, either a single metadata value or an array
 	 *                          of values depending on the value of `$single`. Default null.
@@ -550,8 +551,10 @@
 	 * @param int    $object_id ID of the object metadata is for.
 	 * @param string $meta_key  Metadata key.
 	 * @param bool   $single    Whether to return only the first value of the specified `$meta_key`.
+	 * @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
+	 *                          or any other object type with an associated meta table.
 	 */
-	$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
+	$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single, $meta_type );
 	if ( null !== $check ) {
 		if ( $single && is_array( $check ) ) {
 			return $check[0];
@@ -595,13 +598,14 @@
  *
  * @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
  *                          or any other object type with an associated meta table.
- * @param string $meta_key  Metadata key.
+ * @param int    $object_id ID of the object metadata is for.
+ * @param string $meta_key  Optional. Metadata key. If not specified, retrieve all metadata for
+ *                          the specified object. Default empty.
  * @param bool   $single    Optional. If true, return only the first value of the specified meta_key.
  *                          This parameter has no effect if meta_key is not specified. Default false.
- * @param int    $object_id Optional. ID of the object metadata is for. Default 0.
  * @return mixed Single metadata value, or array of values.
  */
-function get_metadata_default( $meta_type, $meta_key, $single = false, $object_id = 0 ) {
+function get_metadata_default( $meta_type, $object_id, $meta_key = '', $single = false ) {
 	if ( $single ) {
 		$value = '';
 	} else {
@@ -618,13 +622,13 @@
 	 *
 	 * @param mixed  $value     The value to return, either a single metadata value or an array
 	 *                          of values depending on the value of `$single`.
+	 * @param int    $object_id ID of the object metadata is for.
+	 * @param string $meta_key  Metadata key.
+	 * @param bool   $single    Whether to return only the first value of the specified `$meta_key`.
 	 * @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
 	 *                          or any other object type with an associated meta table.
-	 * @param string $meta_key  Metadata key.
-	 * @param bool   $single    Whether to return only the first value of the specified `$meta_key`.
-	 * @param int    $object_id ID of the object metadata is for.
 	 */
-	$value = apply_filters( "default_{$meta_type}_metadata", $value, $meta_type, $meta_key, $single, $object_id );
+	$value = apply_filters( "default_{$meta_type}_metadata", $value, $object_id, $meta_key, $single, $meta_type );
 
 	if ( ! $single && ! wp_is_numeric_array( $value ) ) {
 		$value = array( $value );
@@ -1379,15 +1383,15 @@
  * @since 5.5.0
  *
  * @param mixed  $value     Current value passed to filter.
- * @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
- *                          or any other object type with an associated meta table.
+ * @param int    $object_id ID of the object metadata is for.
  * @param string $meta_key  Metadata key.
  * @param bool   $single    If true, return only the first value of the specified meta_key.
  *                          This parameter has no effect if meta_key is not specified.
- * @param int    $object_id ID of the object metadata is for.
+ * @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
+ *                          or any other object type with an associated meta table.
  * @return mixed Single metadata default, or array of defaults.
  */
-function filter_default_metadata( $value, $meta_type, $meta_key, $single, $object_id ) {
+function filter_default_metadata( $value, $object_id, $meta_key, $single, $meta_type ) {
 	global $wp_meta_keys;
 
 	if ( wp_installing() ) {
Index: tests/phpunit/tests/meta/registerMeta.php
===================================================================
--- tests/phpunit/tests/meta/registerMeta.php	(revision 48411)
+++ tests/phpunit/tests/meta/registerMeta.php	(working copy)
@@ -520,7 +520,7 @@
 
 		$object_property_name = $object_type . '_id';
 		$object_id            = self::$$object_property_name;
-		$default_value        = get_metadata_default( $object_type, $meta_key, $single, $object_id );
+		$default_value        = get_metadata_default( $object_type, $object_id, $meta_key, $single );
 		$this->assertSame( $default_value, $expected );
 
 		// Check for default value.
@@ -567,7 +567,7 @@
 
 		$object_property_name = $object_type . '_id';
 		$object_id            = self::$$object_property_name;
-		$default_value        = get_metadata_default( $object_type, $meta_key, $single, $object_id );
+		$default_value        = get_metadata_default( $object_type, $object_id, $meta_key, $single );
 		$this->assertSame( $default_value, $expected );
 	}
 
