However, it never runs the ExecStop command whenever I shutdown my system graphically or via poweroff. Sometimes it actually does execute ExecStop, I but cannot find a way to reproduce that unfortunately. The service starts up correctly and remains active.
What if you add After=bor.resync.service in [Unit]?
That means that there is an explicit order becuase of the After= and that should also mean the shutdown is ordered. I am thinking the lack of an ordering is allow things to stop in a random order and cause your issue.
The Wants/Requires dependencies do not imply ordering between units.
I see three problems:
in some places you talk about bor.resync.service and in others about bor-resync.service. Please make sure to use a consistent form The latter is much better, the dot in the name is confusing.
As Villy wrote, you need Before=shutdown.target+Conflicts=shutdown.target to have the unit shut down before the manager goes down.
As Barry mentioned, there is no ordering between the services. Considering that you wrote that “bor-resync.service needs to occur after the main service”, some ordering is likely needed, either Before or After.