Your ELO was higher than the enemy team's. The ELO estimate expected you to win, but you lost. Therefore, you get a "high" penalty and downranked.
Second game, your ELO and the enemy team's ELO are more closely matched. The game is closer to 50:50, therefore you don't get as much of a bonus if you win.
Basically, everything working as intended.
The same thing occurs if your ELO was always higher than the ELO of the enemy team (which, if I get you right, probably was not the case). Then you get penalized for losing, but don't gain much from winning since you were expected to win in the first place. Also here, everything working as intended.
This.
The only major flaw here with the CoH2 system is that it doesn't compare the ELO on a team-basis, instead it just compares your personal ELO to the enemy team. Which becomes a big problem if the matchmaker screwed up completely or couldn't find a good match for you.
If I as top 20 player get dumped into a complete bullshit 4v4 match with three rank 10.000 teammates and lose against four rank 5.000 enemies, my ELO gets nuked because the system simply saw it as "Wow how can a top 20 player lose against rank 5.000", even if there was 0% chance of winning.
I hope this changes in CoH3