The lead dev of Tiled was working on this issue earlier (hearing about that is what prompted me to post this) and seems to have arrived at a rather good solution that changes the starting error based on the slope of the line:
The starting error change leads to the line halting early, hence the extension of the target y coordinate by 1.
I played around with it and I think the results are quite satisfactory:
Tiled’s algorithm deals with the error a little differently (and did so even before this change), but perhaps there’s something useful you can find in their code.