Your answer is partially addressed in the SSH man page:
RekeyLimit
Specifies the maximum amount of data that may be transmitted
before the session key is renegotiated, optionally followed a
maximum amount of time that may pass before the session key is
renegotiated. The first argument is specified in bytes and may
have a suffix of `K', `M', or `G' to indicate Kilobytes,
Megabytes, or Gigabytes, respectively. The default is between
`1G' and `4G', depending on the cipher. The optional second
value is specified in seconds and may use any of the units docu-
mented in the TIME FORMATS section. The default value for
RekeyLimit is ``default none'', which means that rekeying is per-
formed after the cipher's default amount of data has been sent or
received and no time based rekeying is done.
A default is already set to 1Gig and 4Gigs of data but what does that mean? If you're sending small packets, it would take a long time to rekey, if you're sending large packets, the re-keying would occur more frequently. So let me ask: "What do you think your goal is in setting this to packet amounts would accomplish?"
Rekeying was done so that no one could store/obtain/sniff chunks of data for cryptanalysis attacks. (And or side channel attacks). There is a cost to performing these types of attacks: Storage, time, knowledge of encryption/cryptanalysis. Outside of nation state sponsored programs to attack this, I have yet to see, read, or hear about a non state actor even attempting to pull this off. There are other ways to attack a system.
But to answer your question, there is no definitive method listed to do this (packet based rekeying) so you have an option: Baseline your traffic, divide total data sent, by packets sent, then use that as your rekey number. E.g. 1Gig of traffic / 1000 packets(average amount of packets it took to send 1Gig) = Rekey number.