ffmpeg documentation says that we can use dash muxer to create dash segments and manifest file with just a single command, like:
ffmpeg -re -i
The problem is where you think the filter is applied. In the ffmpeg logic video filters are applied "after" the stream are decoded and "before" they are encoded (no matter where you put them in the command line)
By consequence that they cannot be used in the way you are using them.
Probably the best way in your case is using a filter complex that immediately after its decoded, first split the video in 4 different intermediate videos, then apply a different scaling to each of them, then take their output and encode them.
something like this (i'm reducind to two different variants for shortness, i'm sure you can readapt for 6):
ffmpeg -i $inputFile -filter_complex "[0]split=6[mid0][mid1];[mid0]scale=320:-1[out0];[mid1]scale=640:-1[out1]" -map [out0] -map 0:a -map [out1] -map 0:a -c:a aac -c:v:0 libx264 -c:v:1 libvpx-vp9 -use_timeline 1 -use_template 1 -window_size 6 -adaptation_sets "id=0,streams=v id=1,streams=a" -hls_playlist true -f dash output/output.mpd
It's just an example, hope it will bring you to the right track :)