Lossless concatenation of slightly different MP4 files
Your 2nd file is different. You can re-encode it this way,

ffmpeg -i 2.mp4 -map 0:a -map 0:v
       -c:v libx264 -profile:v main -c:a aac -ar 48000 
       -video_track_timescale 2500   2-new.mp4


Depending on how the video in the other files was encoded, you may need to try adding -bf 1 or -bf 0.