Writing a type checker is conceptually much more specialised than just a scripting language. Certainly I have no idea how to write one!
A flexible/ergonomic dynamic type system is trivial in comparison. Soundness is handled at runtime when the exact value of each expression is known, and ease of use is almost a given.
https://github.com/perl11/Bla has typically the smallest and easiest to understand type inferencer and checker.
I suspect the lack of statically typed scripting languages is more of a historical accident than anything.