input inline-block элемент, а значит наследует и поведение inline элементов. У вас между input элементами имеются пробелы, они учитывают и выводится отступ на ширину пробела. Почему себя так ведет последний input, а не второй скажем когда их 3, я не совсем понимаю. Но если в верстке все input начинать с новой строки всё будет ок. У вас сейчас все в одну строчку написано.