Hello,
I did work out that mdadm in d-i uses a config file of
/tmp/mdadm.conf instead of the usual /etc/mdadm/mdadm.conf.
I thought this meant that if I put the things I needed into that
file then that would work out.
Unfortunately I see that any time you go into mdcfg it clobbers any
existing /tmp/mdadm.conf:
https://salsa.debian.org/installer-team/mdcfg/-/blob/master/mdcfg.sh#L443
So, I guess you could do it by switching to another virtual console
as soon as you enter mdcfg and make your config change then. In my
case I was on a serial console so didn't have any virtual consoles
to switch to. I could still do it by loading the netconsole
component and SSH'ing in.
At that point though I may as well create all the MD arrays entirely
by hand in the d-i shell, which is what I was trying to avoid.
I don't see an easy way of having d-i's mdadm respect a config file
of my choice, unless I have missed something.