It's kind of natural for what it is: It started off as a version number. Then someone realized that having semantic information of when that version was issued was useful, so they started using YYMMDDNNN version numbers instead. This worked fine, but then you got to YY being large enough to cause the number to not fit into a signed int32. Oops.
I imagine the 2022 issue was even mentioned in the original ticket by the dev. Though the dev is probably long gone and the ticket long forgotten. I know I’ve mentioned “this approach will break if the following assumptions change” on tickets.