So if I promise to pay you money in the future, that is clearly a liability, right? Same if I sell you a chicken today for $25 and promise delivery next year. My assets increase by $25 cash and my liabilities increase by 1 chicken, which I'd probably record at $25.
This makes a lot of sense for chickens. It feels to me like it makes a lot less sense when I'm selling you something with a COGS which is too cheap to meter and where there is essentially no meaningful risk to delivery.
Accounting isn't always intuitive, but in this case I believe it is: His liability for the chicken is $25, because what he owes you is not "a chicken", but "$25 worth of chicken".
To see this, imagine what happens if he has to break his promise to deliver, perhaps because all his chickens get swept out to sea and there are no substitute chickens available in time. He owes you a refund. How much does he owe you? Having spent our lives doing deals like this, we intuitively know the answer: $25. He has to give back all the money you paid. That's why the liability is $25.
Now, once an actual chicken gets handed over to you, and you agree that it satisfies the chicken contract, things are different. Now the $25 liability changes into a $5 cost-of-goods-sold (assuming that wholesale chickens cost $5) and a $20 increase in equity (aka "profit").