Let's see it this way,
The year might not have a maximum value. The value for month cannot be more than 12. If it crosses that, it would add up to the year.
You can have a simple input field for the year and a select type for the month. This would restrict the user in entering proper information without writing code for validation. Of course, basic validation will be needed.
One issue I can think of with this is that, the inputs will not really be consistent in their design.
Now, if both were to be simple input fields! The code for validating scenarios where, if the month value goes beyond 12, the year is added by 1 and so on has to be written. For the input field you can provide placeholders saying something like 1-12 for months and do some live validations. This would be a consistent looking design
If both the year and the month fields have a specific range of values, then you can implement the design with a select field. This would be easier and simple.
In the design you have implemented, if the fields have a direct edit option.. i.e if the user can directly click and write the values, there is not much need for such controls. A direct value entered will be preferred rather than clicking several times on the caret icon to give a value.
I hope, if not the solution, I was able to help you with some thoughts