It's fine to install, and mixing stable/testing is usually fine -- that's what dependencies are for, to make sure that everything gets the versions they need.
Gilles is incorrect: testing does get security updates. See "How is security handled for testing?" in the Debian FAQ for details. You may need to adjust things like the unattended-upgrades configuration if you want them installed automatically.
However, your /etc/apt/preferences will cause problems with a mixed stable/testing system, because you've set the priorities way too high. Read the apt_preferences(5) man page carefully, particularly under "APT's Default Priority Assignments". Basically, setting Pin-Priority: 1001 for stable
is saying "install the version from stable, even if it's a downgrade of a package that was installed from testing". Downgrading is generally an unsupported operation in apt, but even worse, this means that any time you try to install a newer version of a package like libc from testing, you'll constantly be running against problems where apt is trying its hardest to reinstall the old version. That will quickly lead to the "conflicts and missing dependencies" that Gilles referred to. On a properly configured system mixing distributions is fine.
The numbers you actually want to use are closer to:
Package: *
Pin: release a=stable
Pin-Priority: 200
Package: *
Pin: release a=testing
Pin-Priority: 80
Package: *
Pin: release a=unstable
Pin-Priority: 50
The key is that stable should be set between 100-500, and testing should be between 1 and 100.