aarch64 and arm64 are the very same architecture. Most of the packagers and package manager uses aarch64 name, but when it comes to systemd it uses arm64. You can find more information here:
https://github.com/systemd/systemd/blob/db58f6a9338d30935aa219bec9a8a853cc807756/src/basic/architecture.c
In this code, aarch64 is mapped back to arm64. Arm64 architecture is also used in the standard specifiers' man page (I have no idea which man page it is but here is the code: https://github.com/systemd/systemd/blob/5efbd0bf897a990ebe43d7dc69141d87c404ac9a/man/standard-specifiers.xml).
This page informs you that architectures are listed in the systemd.unit man page. Here you got extract man 5 systemd.unit.
ConditionArchitecture=
Check whether the system is running on a specific
architecture. Takes one of "x86", "x86-64", "ppc", "ppc-le",
"ppc64", "ppc64-le", "ia64", "parisc", "parisc64", "s390",
"s390x", "sparc", "sparc64", "mips", "mips-le", "mips64",
"mips64-le", "alpha", "arm", "arm-be", "arm64", "arm64-be",
"sh", "sh64", "m68k", "tilegx", "cris", "arc", "arc-be", or
"native".
The architecture is determined from the information returned
by uname(2) and is thus subject to personality(2). Note that
a Personality= setting in the same unit file has no effect on
this condition. A special architecture name "native" is
mapped to the architecture the system manager itself is
compiled for. The test may be negated by prepending an
exclamation mark.
From this short investigation, I deduce that systemd uses uname system call that prints aarch64 and changes it to arm64 internally.