mysql_insert_id() on galera mysql cluster
The "insert_id" is local to the connection.  No locking is needed to get the value.  This applies in all flavors of multi-processing, clustering, engines, etc.

Still, you may need "transactions" for other purposes.  You have not described the code enough to say whether you need to exactly replace LOCK TABLES (etc) with BEGIN..COMMIT.  Or whether some variation is needed.

One thing to learn is the following pattern:

BEGIN;
SELECT ... FOR UPDATE;  -- rows you need to look at before changing
do stuff
UPDATE those rows
COMMIT;


The "do stuff" could include a ROLLBACK and exit from the flow.

AUTO_INCREMENT:

The INSERT reserves the id before the operation.  In some cases, it will reserve an id but then not use it.  Example: INSERT IGNORE when it hits a dup key.

Galera (and any other Multi-Master setup) skips ids.  That is, one node will assign ids 1,4,7,10,...; another node: 2,5,8,...; the third: 3,6,9,...  Depending on the flow of INSERTs, you may see most of the numbers used, or you may see lots of gaps.  Also you may "see" id=124 "before" id=123 shows up.

More tips on moving to Galera and InnoDB