It's a lot more touches and back and forth than doing the same for other init systems. On others, you do a thing, and it's done. Add an init file, and it's there - no need to tell the init system about it. Update the config for the init scripts (ex. /etc/defaults/ollama), and it's done when you write out the file. Add a symlink so it starts on runlevel 3, and that's done - no need to also tell some any system that you did it. Run the init script and it runs, displaying output and errors itself as needed - no need to dig through journalctl.
Except you're comparing apples to oranges. In the systemd case you manually created a unit, interactively started it, and manually debugged it (also interactively). In the sysv case, you ... copied a file, manually started it, and assumed it worked properly because no errors were reported on the console (which is _very_ dependent on the service+script in question)
If it failed to start in systemd (ie step 4), you'd have been told immediately. you could also run 'systemctl status oolama' to get the, well, status including the last 10 or so log lines including stdout/stderr/syslog output. no need to play with mucking with the logs. Which is a much better starting point than debugging "sometihng went wrong" in the sysv script world.
(BTW, you created a bunch of extra work for yourself in the systemd case, 3+4 are trivially combinable. And do you really want a service manager to automatically reload+apply changes you're making while you're interactively editing its configuration? FFS...)