Init not using my initial values and seems to be defaulting to 0

OK I found the problem. From this thread it seems that the underlying parameter names in the stan code must be used in the R script when setting up init parameters. The command stancode() can be used to inspect the underlying stan code.

In my case this can be observed in a parameter section:

parameters {
  vector[K_top] b_top;  // regression coefficients
  vector[K_bottom] b_bottom;  // regression coefficients
  vector[K_rate] b_rate;  // regression coefficients
  real<lower=0> sigma;  // dispersion parameter
}

indicating that init needs to be coded like this?:

fit2 <- brm(bf(Response ~ top - ((top-bottom)*exp(-rate * Time)), top + bottom + rate ~ 1, nl = TRUE),
            data = SynthData, 
            prior = prior1,
            chains = 1,
            cores = 4,
            seed = 1,
            init = list(list ( b_top  =  14 ,
                               b_bottom  =  8 ,
                               b_rate  =  0.22))
)

unfortunately now this happens:
SAMPLING FOR MODEL ‘anon_model’ NOW (CHAIN 1).
Chain 1: Unrecoverable error evaluating the log probability at the initial value.
Chain 1: Exception: mismatch in number dimensions declared and found in context; processing stage=parameter initialization; variable name=b_top; dims declared=(1); dims found=() (in ‘string’, line 20, column 2 to column 22).

scary.