How mysql (innodb) handles auto increment column
Auto increment values are assigned sequentially.  In the event there is a rollback or deadlock you will find gaps in the auto inc value.
The auto inc is always assigned previous_auto_inc_value+1.  If a value is manually bumped you will get another gap in ids according to this rule.  If there are gaps you could manually specify a value for a "missing" id but that won't bump the next generated auto inc value.


If you delete rows with max auto inc values that will not reset the next generated value unless you do an alter table specifying the lower auto increment value that has no values larger than it.


Values for all columns in a trigger are accessible in a NEW object in the event of a before trigger or in the event of an after trigger you also have an OLD object.
Since ids are assigned sequentially there is a shared lock and there may be some contention between concurrent inserts but one will not completely block another.  You shouldn't expect the auto inc values for an insert to all be sequentially +1 of each other, although they likely may be.