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.
/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
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
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:
Pin: release a=stable
Pin: release a=testing
Pin: release a=unstable
The key is that
stable should be set between 100-500, and
testing should be between 1 and 100.