Can you describe exactly how you’re modifying the systemd services ?
The proper way to modify them which won’t be overwritten by updates is to either copy the service unit file from /lib/systemd/system to /etc/systemd/system and modify it there (/etc/systemd/system is the local administrator location for service units that always takes priority over /lib/systemd/system) in which case the package provided unit is always ignored and overridden by your custom unit file, or you can use systemd drop-in’s:
These work like an overlay and let you add or override individual directives in a unit file but still use the package supplied unit file for all other directives. The advantage of this is if you only want to make one change to a unit and would still like package updates to to the unit file to take effect except for your one override.
Along with a unit file foo.service, a “drop-in” directory foo.service.d/ may exist. All files with the suffix “.conf” from this directory will be parsed after the file itself is parsed. This is useful to alter or add configuration settings for a unit, without having to modify unit files. Each drop-in file must have appropriate section headers. Note that for instantiated units, this logic will first look for the instance “.d/” subdirectory and read its “.conf” files, followed by the template “.d/” subdirectory and the “.conf” files there. Also note that settings from the “[Install]” section are not honored in drop-in unit files, and have no effect.
Systemd unit files in /lib/systemd/system are not marked as conffiles so are always overwritten by package updates that contain that file, so you never want to edit them directly.