Yes, I think you are right. The update locks the row containing the last id, and concurrent transactions block if they too need to grab the lock.

(so performance wise, a sequence is still better due to less locking, but if you can't have holes it seems fine)