Flow typing is basically a kind of type inference where the derived type of a variable is allowed to be different in different places of the code, based on control flow. However, not all type inference is flow typing.
Flow typing is definitely a thing also in compiled languages, one example is Crystal, which is both compiled and has flow typing.