Dynamixel XC-330 don't go to his angle ask with the position mode

Indeed, we use a Dynamixel XC330-M288-T with an arduino Mega with the sn74lvc2g241dcur driver for TTL communication. We use the Dynamixel2Arduino.h library, the dynamixel is connected on the Serial 1 and is set to 57600 baudrate.
We currently have a big problem, when we use the function setGoalPosition in operatingMode OP_POSITION, the servo does not go exactly to its requested angle. For example if we ask for a 90° angle it will stop at 93°. The servo displays the error because it returns the value 93° and not 90°. We have tried different PID settings but nothing changes, we always have this kind of error.
Can we solve this problem ? Is there any parameter to set this kind of error?

Have you tried to adjust its Homing Offset?

Yes I set the offset, it sets well at 90° but if I make a movement until 270° then 90° it stops again with an error between 2-3°.

This type of positional error is best resolved using PID settings rather than the offsets, would you mind sharing the different PID settings that you have tried?