Sim, isso ocorre por design.
A página man de systemctl disable
diz:
Disables one or more units. This removes all symlinks to the specified unit files from the unit configuration directory, and hence undoes the changes made by enable. Note however that this removes all symlinks to the unit files (i.e. including manual additions), not just those actually created by enable.
Aqui está o link para isso: link
Ele não explica por que, mas posso arriscar um palpite de que não é possível diferenciar entre os links criados usando systemctl enable
e os criados manualmente, pois está procurando por links que apontam para o arquivo de unidade.
Você deve usar a opção link
em systemctl quando criar um link simbólico para um arquivo de origem fora do caminho de pesquisa do systemd.
Também da mesma página de manual.
link FILENAME...
Link a unit file that is not in the unit file search paths into the unit file search path. This requires an absolute path to a unit file. The effect of this can be undone with disable. The effect of this command is that a unit file is available for start and other commands although it is not installed directly in the unit search path.