tmp_table_size with mostly InnoDB tables
Because your mysql is still creating disk tables:
[!!] Temporary tables created on disk: 81% (2K on disk / 2K total)

Looking at the source of tuner-script

$mycalc{'pct_temp_disk'} = int(($mystat{'Created_tmp_disk_tables'} / $mystat{'Created_tmp_tables'}) * 100);

*snip*

if ($mycalc{'pct_temp_disk'} &gt; 25 &amp;&amp; $mycalc{'max_tmp_table_size'} &lt; 256*1024*1024) {
    badprint "Temporary tables created on disk: $mycalc{'pct_temp_disk'}% (".hr_num($mystat{'Created_tmp_disk_tables'})." on disk / ".hr_num($mystat{'Created_tmp_tables'})." total)\n";
    push(@adjvars,"tmp_table_size (&gt; ".hr_bytes_rnd($myvar{'tmp_table_size'}).")");
    push(@adjvars,"max_heap_table_size (&gt; ".hr_bytes_rnd($myvar{'max_heap_table_size'}).")");
    push(@generalrec,"When making adjustments, make tmp_table_size/max_heap_table_size equal");
    push(@generalrec,"Reduce your SELECT DISTINCT queries without LIMIT clauses");
} elsif ($mycalc{'pct_temp_disk'} &gt; 25 &amp;&amp; $mycalc{'max_tmp_table_size'} &gt;= 256*1024*1024) {
    badprint "Temporary tables created on disk: $mycalc{'pct_temp_disk'}% (".hr_num($mystat{'Created_tmp_disk_tables'})." on disk / ".hr_num($mystat{'Created_tmp_tables'})." total)\n";
    push(@generalrec,"Temporary table size is already large - reduce result set size");
    push(@generalrec,"Reduce your SELECT DISTINCT queries without LIMIT clauses");


So there's tuner's logic, if the (Created_tmp_disk_tables/Created_tmp_tables)*100 is more than 25(%) then increase your tmp-table size (upto max 256M).

Again, mysqltuner is for reference, if you don't see  performance issues you don't need to blindly follow the suggestions.

Also note that tmp table has nothing to do with InnoDB vs MyISAM (if you mean that in your last line). You might want to read about internal temporary tables.