For `FindRoot` the precision of the initial guess does not matter. The initial guess need not satisfy anything, since it will be updated. It is the equation that must be satisfied by a solution, and it is the equation that should have a sufficient precision (that is, at least `WorkingPrecision`). Whatever the precision of the initial guess, there is no problem in changing its precision to the `WorkingPrecision`. The adjustment in precision could be considered a preliminary step or update to the initial guess. For `NDSolve`, it is the whole system that must be satisfied: the ODEs and the BCs/ICs. Thus the whole system should have a sufficient precision, at least that of `WorkingPrecision`. Finally, both commands issue a warning when the appropriate equations have insufficient precision, but they promote the precision of the equations to `WorkingPrecision` nonetheless. The warning just points out that the user is asking for something that does not make sense on the face of it: The insufficient precision might be due to a user mistake, or, in the case of a computed equation, to too great a loss of precision in computing the equation.