Yes, that is how GpsGate´s virtual ports work.
But just out of curiosity,
How does GpsGate handle a situation where there is more input data than what the output can handle? The OP´s situation is a typical example where that might happen. Some data obviously need to be discarded. But what kind of logic does GpsGate use when selecting what to transmit and what to discard? And for how long does GpsGate buffer data if the input rate just temporarily exceed what the output can handle?