Oops... Can you run [show global variables like 'innodb_file_per_table';] ?
I kind of expect it to be OFF, which means that the temp table would have been created in the main tablespace. If that's the case, that space has been permanently assimilated by the global tablespace; the only way to get it back would be a full dump of all your (innodb) tables, stop server, delete tablespace, start server and import the data again. Be sure to read the documentation carefully before doing such an intrusive operation.
While you're doing that, use the opportunity to set innodb_file_per_table to ON :-p