you can do this:
=ARRAYFORMULA(TRANSPOSE({QUERY('Form Responses 4'!B:D,
"select B,C
where C >= date '"&TEXT(B5, "yyyy-mm-dd")&"'
and C <= date '"&TEXT(B6, "yyyy-mm-dd")&"'
and B = '"&B4&"'
order by C asc", 1),
REGEXREPLACE(SPLIT(QUERY('Form Responses 4'!B:D,
"select D
where C >= date '"&TEXT(B5, "yyyy-mm-dd")&"'
and C <= date '"&TEXT(B6, "yyyy-mm-dd")&"'
and B = '"&B4&"'
order by C asc", 1), ";"), "^, ", )}))
=ARRAYFORMULA(TRANSPOSE({QUERY('Form Responses 4'!B:D,
"select B,C
where C >= date '"&TEXT(B5, "yyyy-mm-dd")&"'
and C <= date '"&TEXT(B6, "yyyy-mm-dd")&"'
and B = '"&B4&"'"&
IF(B3<>"all", "and D contains '"&B3&"'", )&"
order by C asc", 1),
REGEXREPLACE(SPLIT(QUERY('Form Responses 4'!B:D,
"select D
where C >= date '"&TEXT(B5, "yyyy-mm-dd")&"'
and C <= date '"&TEXT(B6, "yyyy-mm-dd")&"'
and B = '"&B4&"'"&
IF(B3<>"all", "and D contains '"&B3&"'", )&"
order by C asc", 1), ";"), "^, ", )}))
=ARRAYFORMULA(TRANSPOSE({QUERY('Form Responses 4'!B:D,
"select B,C
where C >= date '"&TEXT(B5, "yyyy-mm-dd")&"'
and C <= date '"&TEXT(B6, "yyyy-mm-dd")&"'"&
IF(B4<>"all", "and B = '"&B4&"'", )&
IF(B3<>"all", "and D contains '"&B3&"'", )&"
order by C asc", 1),
REGEXREPLACE(SPLIT(QUERY('Form Responses 4'!B:D,
"select D
where C >= date '"&TEXT(B5, "yyyy-mm-dd")&"'
and C <= date '"&TEXT(B6, "yyyy-mm-dd")&"'"&
IF(B4<>"all", "and B = '"&B4&"'", )&
IF(B3<>"all", "and D contains '"&B3&"'", )&"
order by C asc", 1), ";"), "^, ", )}))