I'm with the rest. He probably thought you sounded mature. It might have been any combination of your choice of words, your choice of topics, your level of respect, the way you carried yourself (how you got in, the general way you sat, if your head was turned to him when you spoke), and any other number of non-visual cues.
When he first said that 35 wasn't far off, I would have politely changed the topic. "I have to find a good man to marry first. How did you meet your wife?" No greater awkwardness, no further conversation about your age, just plow past it. The implied flattery of him being a good man won't hurt your odds, either." Without the conversation that followed, you could even assume that he knew your general age and was still commenting that 35 wasn't far off as time is relative and it was like yesterday when he was in his 20s.
Once the topic was changed, you could drop hints about your age in the conversation if you wanted like referencing being in college, when you were in high school a few years ago, how you're able to look for guys in more places since turning 21 (if you want to give your age), or something similar. You wouldn't need to, but if it was important to you or if he kept saying things that assumed you were in a different place in life than you were then there are options to clarify without a confrontation.
No one should comment on a lady's age, weight, or pregnancy status unless there is absolutely no doubt that the statements are accurate, welcomed, and appropriate for the context. If there's any doubt, they should be completely avoided. I wouldn't worry at all about your looks and would consider this an opportunity to refine the skill of gracefully responding to a clod.