This is super tricky, to get the date correctly we need to query the 25th like on the post and use that date. This is prohibitively expensive at scale.
I guess we can add a special option on badges for “when granting this badge for the first time always use todays date” but then you can not backfill the badge.
I just don’t see an easy solution here.