After creating a new upload session ID using upload-session/start (Sequential), I used upload-session/append to add 2 more files (5120 bytes each) in it and finally called upload-session/finish-batch to complete the upload process.
The issue seems to be in upload-session/finish-batch, which asks me to put the offset value of both the files as the total size of the session id (i.e., 5120 + 5120 = 10240). After doing so it seems like once both the files are uploaded, the bytes of the second file in the session queue were appended to the bytes of both the files.
This means if the contents of the first file were "This is first." and the contents of the second file were "This is second.", then the files that upload-session/finish-batch uploads is "This is first.This is second." And this happens to both files. Eventually, if you add a third file in the queue, say "This is third." then the uploaded file contents would be "This is first.This is second.This is third.".
This is a sample response (noticing how the content hash is the same for both the files which were appended to that upload session using upload-session/append). In this example, the size of the first file is 5120 bytes and the second file is 5307 bytes. And thus upload-session/finish-batch forced to set the offset of both the files to their sum (10427). This seems to have increased size for both the files and there seems no workaround as API refuses to accept any other offsets except this sum.

I wasn't able to try upload-session/start (Concurrent) as the API calls were stuck for some reason and didn't close when adding the last file using upload-session/append.
Any assistance would be very much appreciated