What is the performance benefit when using a temporary table to update a regular table?
First, let's look at a different aspect.  Is your table ENGINE=InnoDB?  If so, and you have not done anything (yet) about "transactions"?  Then 5 Updates is 5 transactions.  There is a significant overhead for each transactions.  Hence, this would be a lot better:

BEGIN;
UPDATE ...;
UPDATE ...;
...
COMMIT;


You had 5 statements versus 3.  I turned the 5 into 7.

If, instead, there were 500 updates to do, that would be 502 versus 3.  Now the overhead of extra round-trips to the server becomes significant.  At this point (502 statements versus 3), creating the tmp table, etc, becomes significantly better.

(There is no need for BEGIN...COMMIT on the tmp approach; the UPDATE is a 'transaction' unto itself, assuming autocommit=1.)