Based on a suggestion in a comment by @Barmar (thanks!), here's what I ended up going with:
SELECT
U.COLUMN_NAME,
U.REFERENCED_TABLE_NAME,
U.REFERENCED_COLUMN_NAME,
C.UPDATE_RULE,
C.DELETE_RULE
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE U
LEFT JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
ON U.CONSTRAINT_NAME = C.CONSTRAINT_NAME
WHERE
U.TABLE_SCHEMA = 'my_db'
AND
U.TABLE_NAME = 'my_table'
AND
U.REFERENCED_COLUMN_NAME IS NOT NULL
Which gives me everything I need to recreate the foreign keys properly:
+---------------------+-------------+-----------------------+------------------------+-------------+-------------+
| TABLE_NAME | COLUMN_NAME | REFERENCED_TABLE_NAME | REFERENCED_COLUMN_NAME | UPDATE_RULE | DELETE_RULE |
+---------------------+-------------+-----------------------+------------------------+-------------+-------------+
| my_table | item_id | item | id | CASCADE | CASCADE |
+---------------------+-------------+-----------------------+------------------------+-------------+-------------+