Technically, (some command &) runs some command asynchronously in a sub-shell, so it's not inserted in the job table of the (main) shell, and $! is set to the pid of that process but only within that subshell.
The shell has no knownledge of that process as it wasn't the one who started it, so you'll need to identify the process (or processes as some command could have spawned more processes) some other way.
pgrep and pkill can come handy for that as it can search processes based on several of its attributes.
Unless the process detached itself from the terminal, it will still have $TTY (set automatically by zsh to the path of the controlling terminal device) as its controlling terminal.
pkill -xft ${TTY#/dev/} 'some command'
Would kill the processes with $TTY as their controlling terminal and whose exact full command line is some command.
You can use pgrep -l instead of pkill first to see which pid(s) that finds only with their command line.
The above only works if some is a file that that process executed with some and command as arguments. If some command is a shell construct such as a while loop as you indicate in comment, then that will just be a child process of your shell's running it and its argument list (the thing pgrep -fx matches on) will be the same as that of the current shell, likely something like zsh, -zsh or /usr/bin/zsh.
If that's the only process running unattended in that shell session in your terminal, then you can do:
pkill -t ${TTY#/dev/}
On FreeBSD/macos, pkill will automatically exclude the ancestor processes of itself unless you add the -a option, so your shell will not be killed. On Linux-based systems using pkill from procps-ng, you'll want to pass the -A option to explicitly exclude the ancestors.
some command &should work, so$!should work. Why do you think you need the parentheses in the first place? Do you enable job control (set -m) in your script? Or do you let an interactive shell interpret the script? Why?.zshrcis specific to zsh. Is your shell zsh? Why did you use the tagbashthen?some commandprint to its stdout and do you really want to see this? There may be a relatively simple solution if the output of the command may be discarded.