Como discutimos en los comentarios anteriores, una columna de clave externa debe tener el mismo tipo de datos que la clave principal a la que hace referencia.
Declaraste tu user.id
clave principal como $table->bigIncrements('id')
que se convierte en BIGINT UNSIGNED AUTO_INCREMENT
en sintaxis MySQL.
Debe declarar la clave externa como $table->unsignedBigInteger('user_id')
que se convertirá en BIGINT UNSIGNED
en MySQL, haciéndolo compatible con ser una clave externa para el user.id
columna.