For the first question, I assume that you want to put all video downloaded into one big video in CLI. I guess you can do something like this with ffmpeg:
ffmpeg -i "concat:input1|input2|input3|etc" -codec copy output.mkv
If you want to work it out with yt-dlp you can try this:
yt-dlp "a link"
Assuming you get mp4 format
ls -1 *.mp4 > file_list.txt
then
ffmpeg -safe 0 -f concat -i list.txt -c copy output.mp4
Also, is downloading the mp4 significantly different in sound quality than bestaudio (which tends to output a webm rather than mp4)?
For your second question, I am not sure my self to be honest. I never actually look at it. That is why for my app this is the arg I use to get best video and also best audio:
-f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best"
You can probably play a bit more with the format, if you feel like it.
Hope this help!
Thank you!