In the UK it is usually pro-rata to the date of leaving.
Working this out by day of the year:
22nd March is 81st day of year, so 81/365 * 21 = 4.66 days maybe rounded to 4.5 days
Working this out by week of the year:
22nd March is the 12th week of the year so 12/52 * 21 = 4.85 which may round to 5 days depending on how generous they are.
Although they may work leave out by calculating number of work days in the year. They could work out the total number of work days, and divide the 21 up for each, and then figure out how many work days you've had up to the 22nd March, which wouldn't be a common practice I've ever seen.
It's also unusual to have bank holidays taken out of your leave in the UK - more common to make you take 'closed days', eg between Christmas and New Year though - but we've not had any bank holidays except for 1st Jan 2019.
How are they working our your pay for March? Is it pro-rata 22/31 * Monthly salary?
Update: Are you working full time or part hours contract? 21 days is a bit low for full time contract...