JFLOW OutputInt value is zero when the ingress/incoming interface sits in one VR/VRF and the egress/outgoing interface sits in another VR/VRF and next-table is used to bring traffic from the incoming to outgoing VR/VRF.
Traffic that follows leaked routes will have the correct value for OutputInt. The negative to this approach is more memory is tied up since the leaked/extra routes need to be added to the outgoing interface.
There is one other intermediate option, which is to leak the routes from global.inet.0 to internal.inet.0 but use a forwarding table filter to keep the second copy out of the FIB (tfeb0) to reduce TFEB memory usage. It saves some (but not all) of the RAM of the second copy (it because as if inline-jflow still has a second copy of the routes, but the packet forwarding code does not). However there is a considerable increase in CPU usage on *every* commit with this approach in place, which was one reason we moved away from that approach.