Following is a response from DHS staff member, Tom Pullum:
The month and year you need for these rates can vary from one survey to another. I checked the CSPro code for the construction in this survey and you should be ok with year=2022 and month=2 (see the lines below).
yeareduc = 2022; { Survey academic year. Use first year if survey goes across two years }
mntheduc = 02; { Month when survey academic starts. Ask for it to SM }
cmceduci = cmcode( mntheduc, yeareduc );
However, you say you tried a range that would have included 2/2022. For some children the CMC of birth is not known and is randomly imputed within a 12-month range. If you still do not match the table, it will be because of that random component. It will be impossible to match the random component exactly, but you should get very close with a similar imputation procedure. This is not an issue in all surveys. Sorry about that....
seed(101); { to initiate randomization for members age at the beginning of school year }
{ impute an age at the beginning of the school year when CMC of birth unknown }
xtemp = HV008 - HV105*12;
cmctemp = random( xtemp-11, xtemp );
ageatsch = int( (cmceducf-cmctemp) / 12 );