The first hand I would've went all in preflop. In all likelyhood, at best its a coinflip with the slight edge to you, if they call. They could also call with a hand like A2, A3, or A4, which you're in very good shape against. Plus, they could very likely fold preflop and you pick up the blind there.

One other thing to consider. Another way a person could play it is to make a small preflop raise with your pocket 4s, and then shove all in on the flop no matter what hits. In all likelyhood, the flop will have 3 overs, they won't call without a pair, and will call with a pair. So, the opponent calls when they have you beat and folds when they don't. Very bad situation.

Now lets say you decide to shove all in preflop, and they call everytime when they would've called the small preflop raise in the other scenario. This time the opponent doesn't get the advantage of seeing if they hit on the flop before deciding whether to risk their entire stack. The hands they would've folded at the flop before are now still live, giving you a lot better chance of winning more on the hand, and the hands that do beat you on the flop would've had you in the first scenario as well, since they would've then called. So if they hit, its the same as before, but now you have the added advantage of having their money in the pot with you when you're the favorite after the flop.

So yeah, I like going all in preflop with small pocket pairs when heads up. You can't expect the hand to improve, so push in before they can see the board to see if their hand hits.