I would not try to calculate S/H times from such datasheet
type values, if I was anywhere close to the performance
limits.
If you slide data edge across clock edge, you will see a
region where prop delay blows out, then metastability,
then fail-to-catch.
If you are going to depend on static timing analysis for
design closure, then your real setup-time-driven delay
needs to not break out of the timing model plus margin.
Some setup-time position will break out. You need to
respect this, following having determined the setup time
that causes timing breakout. That's not a calculation,
it's simulations, multiple, across cases and corners to
find a worst case that you will then push into the timing
model as a constraint for setup time that makes the
rest of the timing model, valid.