Hi,
The only way to have a output such [batch, 1, 1, 1] is to have a filter with same_size as input when padding=0 and stride=1.
The output have to be [batch, 1, 2, 2] for your example input and filters. And the reason is you can have four 2x2 squares in a 3x3 matrix.
step one:
[[x, x, 0],
 [x, x, 0],
 [0 ,0, 0]]

step two:
[[0, y, y],
 [0, y, y],
 [0 ,0, 0]]

step three:
[[0, 0, 0],
 [z, z, 0],
 [z ,z, 0]]

step four:
[[0, 0, 0],
 [0, s, s],
 [0 ,s, s]]

output:
[[x, y],
 [z, s]]

So as you can see, we can extract 4 numbers which will be in a 2x2 matrix.
PS: number of filters determine number of channels in the output. Each filter a channel.
Good luck
Nik