System Events cannot work with negative process ids

I’ve discovered that System Events cannot work with negative process ids. Those are real, and seem to occur when a Mac’s uptime has gotten pretty long. Obviously, this seems to be the way the system describes ids that have rolled over an integer limit.
My specific situation is where I am working with more than one app that gives the same name, and I want to work with the frontmost. So, I get the process id of the frontmost app, and if it contains my name, that’s the process id I want to work with. If the frontmost is not a name-match, I just get the first process that does match.
Then, I use a tell process id myAppID block to work with it. It doesn’t work to try to sue a reference, since the de-reference will often talk to one of the other instances - I have to use tell process id myAppID.
Ok. That all works, and I use that extensively and successfully.
However, at some point, it appears that macOS starts assigning large scientific numbers to processes, and then even that isn’t enough and it rolls over into negative scientific numbers, like -2.124749523E+9.
Example:

tell application "System Events"
	id of every application process whose name contains "ker"
end tell
(* RESULT:
{1.914708368E+9, -2.124749523E+9}
*)

Unfortunately, it seems System Events cannot handle those “negative” process ids.
If I run the positive scientific number process id, I get expected results:

tell application "System Events"
	properties of process id 1.914708368E+9
end tell
(* RESULT:
{has scripting terminology:false, …and so on…, accessibility description:missing value, enabled:missing value, unix id:33483}
*)

But, if I run the same code for the “negative” scientific number, this is the result:

tell application "System Events"
	properties of process id -2.124749523E+9
end tell
(* ERROR: 
error "System Events got an error: Can’t get process id -2.124749523E+9." number -1728 from process id -2.124749523E+9
*)

Has anyone else seen this before? Obviously, one solution would be to restart my Mac, which I will do, but I was hoping there would be a way that System Events can be coaxed into working with these process ids. I did some searching online, and it looks like process ids are Int32, which of course have a maximum value of 2^31-1 (2,147,483,647). That matches the behavior I’m seeing, except for the fact that System Events doesn’t seem to support the rollover to negative values that macOS uses to handle overflow.
Can anyone think of a way to get System Events to work with these (legitimate) process ids?