There is no inconsistency or bug, but a misunderstanding: the linear equation for v1 has a single solution only if the coefficient of v1 is nonzero. If the coefficient of v1 is zero, then the equation puts no restriction on v1. (So the linear equation is not always enough to determine v1.)
The coefficient of v1 in the linear equation is di + 3/5*a^3 + 3/5*a^2 + 4/5. Indeed, it vanishes for some of the solutions (to check: do Id.variety(QQbar), substitute each solution into the coefficient, and call the radical_expression() method).