I think you are doing too many unnecessary steps. First, you don't need to actively set the drive in your array to "no device", if the drive isn't detected it will be emulated and be reported as "missing" anyway. I also think that you don't really need the whole step of enabling maintenance mode.
I would also recommend doing a pre-clear first before adding the system. I specifically bought an external USB drive case for that (UGreen USB 3.0 external HDD case) so that I can check the drives first without having to shut down the server.
That means:
- pre-clear the drive
- set your array to not start on boot
- shutdown server
- replace the drive in the system with the pre-cleared one
- boot server
- set the missing drive to the new one
- start the array
this will then start all services as well as start the rebuilding process of the new drive.