Index: src/wp-includes/comment.php
===================================================================
--- src/wp-includes/comment.php	(revision 53730)
+++ src/wp-includes/comment.php	(working copy)
@@ -2208,9 +2208,16 @@
 function wp_new_comment( $commentdata, $wp_error = false ) {
 	global $wpdb;
 
+	/*
+	 * Normalize `user_ID` to `user_id`, but pass the old key
+	 * to the `preprocess_comment` filter for backward compatibility.
+	 */
 	if ( isset( $commentdata['user_ID'] ) ) {
 		$commentdata['user_ID'] = (int) $commentdata['user_ID'];
 		$commentdata['user_id'] = $commentdata['user_ID'];
+	} elseif ( isset( $commentdata['user_id'] )  ) {
+		$commentdata['user_id'] = (int) $commentdata['user_id'];
+		$commentdata['user_ID'] = $commentdata['user_id'];
 	}
 
 	$prefiltered_user_id = ( isset( $commentdata['user_id'] ) ) ? (int) $commentdata['user_id'] : 0;
@@ -2235,9 +2242,9 @@
 
 	$commentdata['comment_post_ID'] = (int) $commentdata['comment_post_ID'];
 
+	// Normalize `user_ID` to `user_id` again, after the filter.
 	if ( isset( $commentdata['user_ID'] ) && $prefiltered_user_id !== (int) $commentdata['user_ID'] ) {
-		$commentdata['user_ID'] = (int) $commentdata['user_ID'];
-		$commentdata['user_id'] = $commentdata['user_ID'];
+		$commentdata['user_id'] = (int) $commentdata['user_ID'];
 	} elseif ( isset( $commentdata['user_id'] ) ) {
 		$commentdata['user_id'] = (int) $commentdata['user_id'];
 	}
@@ -3587,7 +3594,6 @@
 
 	$commentdata = array(
 		'comment_post_ID' => $comment_post_id,
-		'user_ID'         => $user_id,
 	);
 
 	$commentdata += compact(
@@ -3596,7 +3602,8 @@
 		'comment_author_url',
 		'comment_content',
 		'comment_type',
-		'comment_parent'
+		'comment_parent',
+		'user_id',
 	);
 
 	/**
Index: tests/phpunit/tests/comment-submission.php
===================================================================
--- tests/phpunit/tests/comment-submission.php	(revision 53732)
+++ tests/phpunit/tests/comment-submission.php	(working copy)
@@ -795,7 +795,6 @@
 	 * @ticket 34997
 	 */
 	public function test_comment_submission_sends_all_expected_parameters_to_preprocess_comment_filter() {
-
 		$user = get_userdata( self::$author_id );
 		wp_set_current_user( $user->ID );
 
Index: tests/phpunit/tests/comment.php
===================================================================
--- tests/phpunit/tests/comment.php	(revision 53722)
+++ tests/phpunit/tests/comment.php	(working copy)
@@ -8,6 +8,8 @@
 	protected static $post_id;
 	protected static $notify_message = '';
 
+	protected $preprocess_comment_data = array();
+
 	public function set_up() {
 		parent::set_up();
 		reset_phpmailer_instance();
@@ -403,7 +405,7 @@
 	}
 
 
-	public function test_comment_field_lengths() {
+	public function test_wp_new_comment_respects_comment_field_lengths() {
 		$data = array(
 			'comment_post_ID'      => self::$post_id,
 			'comment_author'       => 'Comment Author',
@@ -423,6 +425,55 @@
 	}
 
 	/**
+	 * @ticket 56244
+	 */
+	public function test_wp_new_comment_sends_all_expected_parameters_to_preprocess_comment_filter() {
+		$user = get_userdata( self::$user_id );
+		wp_set_current_user( $user->ID );
+
+		$data = array(
+			'comment_post_ID'      => self::$post_id,
+			'comment_author'       => $user->display_name,
+			'comment_author_email' => $user->user_email,
+			'comment_author_url'   => $user->user_url,
+			'comment_content'      => 'Comment',
+			'comment_type'         => '',
+			'comment_parent'       => 0,
+			'user_id'              => $user->ID,
+		);
+
+		add_filter( 'preprocess_comment', array( $this, 'filter_preprocess_comment' ) );
+
+		$comment = wp_new_comment( $data );
+
+		remove_filter( 'preprocess_comment', array( $this, 'filter_preprocess_comment' ) );
+
+		$this->assertNotWPError( $comment );
+		$this->assertSameSetsWithIndex(
+			array(
+				'comment_post_ID'      => self::$post_id,
+				'comment_author'       => $user->display_name,
+				'comment_author_email' => $user->user_email,
+				'comment_author_url'   => $user->user_url,
+				'comment_content'      => $data['comment_content'],
+				'comment_type'         => '',
+				'comment_parent'       => 0,
+				'user_ID'              => $user->ID,
+				'user_id'              => $user->ID,
+				'comment_author_IP'    => '127.0.0.1',
+				'comment_agent'        => '',
+			),
+			$this->preprocess_comment_data
+		);
+
+	}
+
+	public function filter_preprocess_comment( $commentdata ) {
+		$this->preprocess_comment_data = $commentdata;
+		return $commentdata;
+	}
+
+	/**
 	 * @ticket 32566
 	 */
 	public function test_wp_notify_moderator_should_not_throw_notice_when_post_author_is_0() {
