Thank you Daniel,
The equations are indeed coupled, which poses a new hardship in my attempts - putting aside the analytical solution (in which I used the parameters e [aka C1],g,n as fitted by another software plus initial conditions c, D0,B0), I set off to make the other software redundant by achieving the parameter fitting from Mathematica.
What I am able to achieve by now is fitting e,g over the d(t) ODE, then taking the fitted e,g and using them to fit n in the b(t) ODE.
However, my attempts at fitting e,g,n at a single stroke using the coupled equations for d(t) and b(t) have not been successful thus far. I am either not getting the syntax right, or possibly other commands should be used.
I wonder if this can be achieved in Mathematica (I would safely bet that the answer is yes)?
Here is how I fit in the "two-stroke" way (p1hdv and p1hbv are the datasets I am fitting against):
hdvodep = d'[t] == (1 - e1) c D0 Exp[-g1 t] - c d[t];
hdvmod = ParametricNDSolveValue[{hdvodep, d[0] == D0}, d, {t, 0, 28}, {e1, g1}];
fitd = FindFit[p1hdv, {Log[10, hdvmod[e1, g1][t]], e1 < 1.00, g1 > 0.01}, {e1, g1}, t]
which gives nice values for e1, g1 and then:
hdvsolp = DSolve[{hdvodep /. fitd, d[0] == D0}, d[t], t] // Simplify;
hbvodep = b'[t] == c B0 n1^-4 D0^n1 (d[t] /. hdvsolp[[1]])^-n1 - c b[t];
hbvmod = ParametricNDSolveValue[{hbvodep, b[0] == B0}, b, {t, 0, 28}, {n1}];
fitb = FindFit[p1hbv, {Log[10, hbvmod[n1][t]]}, {n1}, t]
which yields a fit for n1.