The operation of transforming a $[0,1]$ dummy into a $[-1,1]$ dummy amounts to (see below for a more general case) transforming the categorical variable (it does not matter that it is categorical) via $2x-1$ and leaving the constant as is.
Via Scaling in linear regression and Adding a Constant to Every Column of X (OLS), this means first scaling the regressor matrix via
$$
\begin{pmatrix}
1&0\\0&2
\end{pmatrix}
$$
to then add
$$
\begin{pmatrix}
0&-1\\
\vdots&\vdots\\0&-1
\end{pmatrix}
$$
to the transformed regressor matrix. Now, this is, from the second link provided above, the same as multiplying the regressor matrix with
$$
\begin{pmatrix}
1&-1\\0&1
\end{pmatrix}
$$
Hence, we transform the originial regressor matrix with
$$
\begin{pmatrix}
1&0\\0&2
\end{pmatrix}
\begin{pmatrix}
1&-1\\0&1
\end{pmatrix}=\begin{pmatrix}
1&-1\\0&2
\end{pmatrix}=:A
$$
From the first link, the new and old coefficient vectors are related via
$$
\hat{\beta}^\circ=A^{-1}\hat{\beta},
$$
where
$$
A^{-1}=\begin{pmatrix}
1&0.5\\0&0.5
\end{pmatrix}
$$
All in all, the new coefficient for the constant will then be the old constant plus one half the old slope coefficient and the new slope will be one half the old slope. This is also intuitive, as moving from the lowest to the highest value of the regressor now is twice as far, so that increasing by one unit should only be half the effect.
Numerical illustration:
n <- 20
y <- rnorm(n)
x <- sample(c(0,1), n, replace = T) # a categorical predictor...
x <- rnorm(n) # ...but works for any predictor
x.trafo <- 2*x-1
> all.equal(0.5*coef(lm(y~x))[2], coef(lm(y~x.trafo))[2], check.attributes = F)
[1] TRUE
> all.equal(coef(lm(y~x))[1] + 0.5*coef(lm(y~x))[2], coef(lm(y~x.trafo))[1], check.attributes = F)
[1] TRUE
A more general case
Consider a constant and regressors $x_1,\ldots,x_k$, scaling factors to all variables, $s_0,s_1,\ldots,s_k$ and additions to regressors $\mathbf{a}:=(a_1,\ldots,a_k)'$ (since scaling and adding is equivalent for the constant, we omit $a_0$). Let $\mathbf{s}:=(s_1,\ldots,s_k)'$.
Then, the operation of scaling and adding can be expressed via a matrix
$$
S:=\begin{pmatrix}
s_0&a_1&\cdots&\cdots&\cdots&a_k\\
0&s_1&0&\cdots&\cdots&0\\
0&0&s_2&\ddots&\cdots&0\\
0&\vdots&\ddots&\ddots&\ddots&0\\
0&0&&&&0\\
0&0&0&\cdots&0&s_k\\
\end{pmatrix}=\begin{pmatrix}
s_0&\mathbf{a}'\\
\mathbf{0}&\text{diag}(\mathbf{s})\\
\end{pmatrix}
$$
This representation also reveals that the $s_j$ must not be zero. In the case of $s_0$ we would create a zero column. For $s_j$, $j\neq0$, the a corresponding $a_j\neq0$ would ensure a nonzero column for the transformed regressor even if $s_j=0$, but then, that transformed regressor would simply be $a_j$ and hence be collinear to the constant $s_0$.
By partitioned inverses,
$$
S^{-1}=\begin{pmatrix}
1/s_0&-\mathbf{a}'\text{diag}(\mathbf{s})^{-1}/s_0\\
\mathbf{0}&\text{diag}(\mathbf{s})^{-1}\\
\end{pmatrix}
$$
and the coefficients in the transformed dataset, $\hat{\beta}^\circ$, are related to those of the original one, $\hat{\beta}$, via
$$
\hat{\beta}^\circ=S^{-1}\hat{\beta}
$$
Hence, as also pointed out by Matthew in the comments, the new slope coefficients are simply the old ones reciprocally adjusted for by their own respective scaling while the new intercept is a function of all additions and all scalings.