Не идеальное решение, но мы можем подделать эффект, применив padding-left от 50% к элементу :empty, чтобы курсор появился посередине.
И затем выровняйте заполнитель (псевдоэлемент) посередине, используя абсолютное позиционирование и отрицательное значение функции преобразования translateX.