Type inference can be done by a compiler, and in such cases, type inference is static.
Type inference can also be done by an interpreter. An interpreter does the jobs of both compilation and execution. So is type inference done by an interpreter static or dynamic?
This question is an example that motivated my question Does "static" or "dynamic" imply a compiler or interpreter implementation of a programming language? at a more general level.