The equivalent Hamiltonian produces unequal results

Hi everyone. I am currently trying some new Hamiltonians. Although they are new, they are physically equivalent.
For example, I am trying this Hamiltonian H=-t\sum_{i=1}^{L-1}\left ( a_{i+1}^{+} a_{i} +H.c. \right ) . When L equals 3, it makes an error, even though the system is very small.

function setstate0(L::Int64, filling::String)
    states = []
    if filling=="1010"
        for i in 1:L
            if isodd(i)
                push!(states,"1")
            elseif iseven(i)
                push!(states,"0")
            end
        end
    end
    for i in 1:L
        push!(states,"0")
    end
    return states
end;

function increase_bond_dimension!(psi,dimension)
    for bond in 1:(length(psi)-1)
        bond_index = commonind(psi[bond], psi[bond + 1])
        aux = Index(dimension; tags=tags(bond_index))
        psi[bond] = psi[bond] * delta(bond_index, aux)
        psi[bond + 1] = psi[bond + 1] * delta(bond_index, aux)
    end
    return psi
end;

L = 3
g_dim = 5
e_dim = 2
eigen_cutoff = 1e-4
t = 0.2
ttotal = 30
tau = 0.1
dimension = 50
mc = 1
tsteps = convert(Int64, ttotal/tau);

states0 = setstate0(L, "1010")
sites0 = siteinds("Boson",2*L;dim=5)
psi00 = MPS(sites0,states0)
psi00 = increase_bond_dimension!(psi00,dimension);

os0 = OpSum()
for i in 1:L-1
    os0 += -t, "Adag", i, "A", i+1
    os0 += -t, "Adag", i+1, "A", i
end
Heff0 = MPO(os0,sites0);

N = []
psi = psi01
N_tsteps = []
for j in 1:tsteps
    N = expect(psi,"N")
    push!(N_tsteps ,N')
    psi = tdvp(Heff0,psi,-im*tau,ishermitian=false;normalize=true, nsweeps=1,maxdim=50,cutoff=1e-10,nsite=2)  
end
if n == 1
    global N = N_tsteps
else
    global N += N_tsteps
end;

This can be seen as a simplified version of the Boson-Hubbard model, where the Hamiltonian only has a tunneling term. My initial state distribution is “101 000”,(Bold indicates lattice points where substantial evolution has occurred), although there are a total of six lattice points in the initial state, it is easy to see from the OpSum of the Hamiltonian that the last three lattice points do not participate in the evolution.

@show os0;
sum(
  -0.2 Adag(1,) A(2,)
  -0.2 Adag(2,) A(1,)
  -0.2 Adag(2,) A(3,)
  -0.2 Adag(3,) A(2,)
)

The following image shows the evolution of particle size distribution for each grid point that I have obtained. It meets our expectations.

However, when I inserted the three irrelevant lattice points in the initial state into the lattice points of the substantial evolution, some errors occurred. Initial state distribution is “1 0 0 0 1 0”(Of course, the Hamiltonian has also been modified accordingly to ensure that the behavior of particles is limited to a certain number of lattice points.).

function setstate1(L::Int64, filling::String)
    states = []
    if filling=="1010"
        for i in 1:2L
            if isodd(i)
                if isodd((i+1)/2)
                    push!(states,"1")
                elseif iseven((i+1)/2)
                    push!(states,"0")
                end
            elseif iseven(i)
                push!(states,"0")
            end
        end
    end
    return states
end;

states1 = setstate1(L, "1010")
sites1 = siteinds("Boson",2*L;dim=5)
psi01 = MPS(sites1,states1)
psi01 = increase_bond_dimension!(psi01,dimension);

os1 = OpSum()
for i in 1:2:2L-2
    os1 += -t, "Adag", i, "A", i+2
    os1 += -t, "Adag", i+2, "A", i
end
Heff1 = MPO(os1,sites1);

N = []
psi = psi01
N_tsteps = []
for j in 1:tsteps
    N = expect(psi,"N")
    push!(N_tsteps ,N')
    psi = tdvp(Heff1,psi,-im*tau,ishermitian=false;normalize=true, nsweeps=1,maxdim=50,cutoff=1e-10,nsite=2)  
end
if n == 1
    global N = N_tsteps
else
    global N += N_tsteps
end;

The OpSum of the Hamiltonian is

@show os1;
sum(
  -0.2 Adag(1,) A(3,)
  -0.2 Adag(3,) A(1,)
  -0.2 Adag(3,) A(5,)
  -0.2 Adag(5,) A(3,)
)

Draw the same picture

It can be seen that there was a difference in the results after I only modified the relative positions of the evolution grid points. In physics, the behavior of bosons between the three lattice points should be exactly the same, but I don’t know where the problem lies in the code.
I would greatly appreciate any suggestions from everyone.