Upsert e incremento automático do MySql causam lacunas

Eu tenho uma tabela MySql com uma chave primária de auto incremento, e parece que todos os vários métodos de upsert (INSERT IGNORE e ON DUPLICATE KEY UPDATE) sofrem com o recurso que o campo de auto incremento incrementa, até se uma linha for atualizada e não inserida. Isso significa que são introduzidas lacunas na tabela, o que acho indesejável.

Portanto, a pergunta é: existe alguma maneira de modificar registros em uma tabela com um campo de incremento automáticosem incremento automático desse campo, se o upsert de fato apenas atualizar a linha. A meu ver, é assim que o upsert deve se comportar, mas não parece.