A workaround can be to use a setprecision
block, like:
julia> setprecision(BigFloat, 2048) do
N = BigFloat(2.0)
S = sqrt(N)
@show N.prec
@show S.prec
end
N.prec = 2048
S.prec = 2048
I tend to use those blocks anyway, but I sure did also assume that they promoted to the largest precision when working outside of a block.