He estado teniendo el mismo problema. Acabo de notar la siguiente nota en la parte inferior de los Laravel Schema docs :
Para mí, tan pronto como configuro mis campos de clave externa como tales:
$table->integer('author')->unsigned();
No tuve ningún problema.
EDITAR:Además, asegúrese de que los campos en la tabla foránea ya estén creados, de lo contrario, esto puede fallar con el mismo error.