Is it because what you want is:
let
b = ones(3, 4)
a = ones(1, 2)
x = a .* b[2:2,2:end-1]
@show size(x)
b = ones(4, 3)
a = ones(2, 1)
x = a .* b[2:end-1,2:2]
@show size(x)
end
If an index is an integer rather than a range, then a Matrix becomes a Vector