If you're just looking at the calling conventions and registers on entry / exit of a function (not in the middle), then yes, those are right for the x86-64 System V calling convention.
See What are the calling conventions for UNIX & Linux system calls on i386 and x86-64 for a summary of the function-calling convention (and see https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI for the full details of the ABI, including how small vs. large structs, and FP values, are passed / returned by value.)
According to https://en.wikipedia.org/wiki/Calling_convention#ARM_(A64), AArch64's standard calling convention passes args in x0..x7, and also returns in x0. (It's not clear from that super-brief summary how large an arg can be returned in registers, whether 16-byte struct could be returned in x1:x0.)
But inside a function, it's totally up to the compiler, and it isn't even trying for similar code-gen.
You're compiling separate binaries for separate architectures. When compiling for x86-64, the compiler probably isn't even trying to make asm that looks anything like AArch64, just to apply the "as-if" rule and make asm that implements the function as efficiently as possible for x86-64.
Different tuning heuristics will lead to different inlining and other code-gen decisions.
AArch64 has more architectural registers than x86-64. Obviously there couldn't be a 1:1 mapping even if you were using an x86-64 compiler that tried to make x86-64 asm that looked like the AArch64 asm for the same function.