This looks related, but I think this is a different issue.
Sure.
The real reason for this case is that row_number is marked as parallel_safe which seems to be wrong. I think it should be marked as parallel_unsafe.
Marking the function parallel safe doesn't seem wrong to me. The non-parallel-safe part is that the input gets fed to it in different order in different workers. And I don't really think that to be the function's fault.