Well, the game you were given the higher estimated Elo for, you only show 1 mistake (?) and 1 inaccuracy (?!). In the other, there are a number of blunders (??), some misses (x), 2 inacuracies (?!), and 4 mistakes (?), with 4 great moves (!) as well. However, a few of your great moves are sandwiched between misses, or among some other flagged errors. Looking at the two games, the first one looks pretty clean and flows well, the second is much more chaotic (with your King going for a bit of a stroll at times, and so forth). Overall, the first game was played much better, and the second is not one of your best. As such, the rating (based on that game), would be expected to differ quite a bit.
The other thing to note, is that the algorithm that estimates your Elo factors in the Elo of the two players. In the first game, where you played well, your opponent has an Elo of 1500, while in the second, your opponent has an Elo of 739 (yours is similar in both games, but it is worth noting it is lower in the 2nd than the first). As a result, the estimate will tend to be lower in the 2nd game compared to the first (if you were to go into the first game, change the Elo of your opponent to 700, and then reanalyse the game, your estimated Elo will drop - even though the moves are the same, the estimation takes into account that in the "edited" version your opponent is weaker. Beating a player with a strong proven record - so high Elo - will end up pushing the estimation higher as well, to some extent.
So yes, wide differences in estimated Elo between games is normal.
I played both these games showcased here only a few days apart.
The engine gave me a rating of 1600 elo here
The engine gave me a rating of 300 elo here
Is this normal?