I feel like this is, at least partially, a combination between a problem with how you are reading the node and a problem with the navball marker for the node. The problem with the navball marker is that it drifts as the node moves, while the actual position you want to be facing does not. To be clear, this means that you do not want your SAS set to follow the marker during the burn, as it will move incorrectly and therefore your rocket will end up not performing the manoeuvre correctly.
Instead, what you want to do is: Five seconds away from the node position, set your SAS mode to Hold Position. This will ensure that you don't move away from the place where the marker should be. When you hit 0 on the countdown, begin the burn, and take into account the below information:
Through testing, I have found that the burn timer is sometimes very incorrect. It seems to be off by an order of magnitude. This is a problem, but it is one that is very easy to work around, as what is not incorrect is the progress marker below the manoeuvre information. That has stayed consistently correct during my testing, and I have found that when the progress marker reaches the end, that is when I want to stop the burn. This is less precise than the countdown that is provided, but I have found that small adjustments - often small enough to be done with RCS alone - are often the key to fixing any errors it causes me.