While you should be able to get a 9 speed cassette on the freehub body without issue, 9 speed STis are still relatively pricey…
TBH theres still plenty of choice about for 8 speed cassettes, an 11-28 MTB cassette might suit your needs a bit more top range and should be within the stretch of a short cage mech.
But stick to Shimano Cassettes as SRAM are toss (IMO of course)…
HG50/HG51 11-28, 8 spd should be about £20 or so…
Edit:
I use a 12-25 8 speed road cassette on my DH bike.
and a 12-25 (9 speed) with a 50/34 on my Road bike…
12-25 seems to be pretty standard these days…
and a 12-27 is available too
12-21 is a pretty narrow range for most people, especially with a non-compact chainset…