Personally I think clothes are more effective in getting one to look older. A new haircut can definitely give your style a different fresh look, but I suggest messing around with how you style your hair instead. Emo-ish haircuts are mostly caused by the way the bangs are styled. Parting the bangs in the middle would lose the emo.
For clothes first you need get some idea of what your target look likes. Watch what men in their 20's and 30's wear for ideas of what to shop for. And watch teenagers for an idea of what not to wear. You can also look at brand names and what age groups they are marketing towards (their current stock will also give you some idea of what styles are currently 'in'). Keep in mind what guys in your local area are wearing too, since you probably don't want to look out of place.
Since you're short on cash I recommend shopping at thrift stores, fast fashion stores, and off-price retailers.
Thrift stores are the best because they have really low costs, and you can find really good quality clothing. You're going to have to spend a little bit more effort searching to find them though. Make sure you know what charity the thrift store is funding, some thrift store charities don't support LGBT.
Fast fashion stores are good for cheap trending clothes. However the clothes' quality is low and not made to last more then one or two years.
Your clothes should look like they fit properly, they should not look like there is room for another teenage growth spurt.
Avoid logos, especially logos of brands that market mainly to teenagers.
20's are a good time to mess around with trends though.
Adding basic core pieces will help.
If you could only get one new piece of clothing, get a blazer. Black or dark blue, one or two buttons, and appropriate for the temperature, hot or cold. Make sure it is the right size/fit. A good fitting blazer can make a bad fitted shirt look better.
Shop for plain t-shirts, polos and button-downs.
Don't have much advice on pants or shoes, except you probably want to ditch the skinny jeans.