mp3 file contains metadata in first MPEG frame, this metadata known as mp3 info tag (extension of Xing VBR header).
LAME writes to this field number of audio frames (number of frames excluding info frame). Other encoders probably do the same.
mpg123-id3dump for file written by mp3splt show warnings like:
Warning: Real sample count 9487872 differs from given gapless sample count 9489024. Frankenstein stream?
[src/libmpg123/frame.c:850] error: End sample count smaller than gapless end! (9487872 < 9488761). Disabling gapless mode from now on.
because mpg123 expects number of audio frames in Xing header.
There is no specification for Xing header, but I found this discussion:
https://www.mail-archive.com/mp3encoder@minnie.tuhs.org/msg02864.html
which confirms my observations.
In this document:
http://gabriel.mp3-tech.org/mp3infotag.html
this fields are named as STREAM_SIZE and MusicLength.
In files produced by LAME this two fields contain same value.
mp3splt updates first field but second field contain wrong value (size from unsplitted file).