All parent processes above you need to first increase their ulimit. Check the blog link in my other post here for details. Changing the daemon's ulimit in with systemd is actually super easy with one line: LimitNOFILE=<your-limit>
But with the systemd change he mentioned (which for Ubuntu, exists in 20.04 but not 18.04) - that the HARD limit is now 512k - applications can chose to adjust the ulimit from inside the application that is not running as root. So all modern software can just, if it knows its OK, make the call during startup to increase the limit to whatever it thinks is needed. Then we dont have to override.conf systemd services every time you hit a scaling limit or think about it.