Of course you can try it. I don't have a setup that can test everyone's setup to know if any of these things work. If they work for you, great. I don't think you should have to use both options but if that is the only thing that works, then use it.
Had solution 1 not working the 1st time but forgot to start the drives so...my bad. 2nd shutdown and startup appears to have worked.
I've also tryed your solution. Removed all files in /etc/systemd/system/docker.service.d/ and ran the commands as root. I notice it takes longer for docker and the containers to restart about double as long as solution 1.
Is it correct that solution 1 will always start after 30 seconds, even if the drives are not fully loaded and that your solution will wait for a full startup before starting docker? If so, I prefer your solution as from a programmers perspective, your solution is the preferred one.
I'll leave this here too.
If you can't get solution 2 to work due to being unable to log in as root and adding sudo in front ot cat ... does not work, login as your normal user (pi for me) and run sudo -i to go into root user, run the 4 lines from solution 2 and press Ctrl+D to exit back to your user.