After some attempts to get a minimal reproducible problem for you, I finally managed to find my issue. I’m posting this in case it helps someone later.
2 7
.>^.<^.
..^vv..
In this example, at the 3rd column, there are two ^. While moving them, at one time, both were on the same cell and I didn’t handle this case properly, so my code erased one of them.
I now pass more tests (all but the last 2) and validators (all but the last one) due to performance issues (ran the tests locally and they both finish after some time).
Thanks for your guidance, you helped me to narrow the search down !
EDIT: The performance matter was only caused by debug prints at each iteration, so now I completed the puzzle ^^