Presolving is necessary for Gurobi to determine the domain of the variables. You don't explicitly specify the bounds of variable $$\texttt{vratio}$$, so Gurobi does not know how to distribute the supporting points for the piecewise-linear approximation to $$\log$$. The approximation in the area around 0.1 is then too inaccurate. You can reduce the final error by setting an upper bound for $$\texttt{vratio}$$, e.g., $$\texttt{vratio} \leq 10$$.