Hey,
1. You can do it by setting
yAxis.max on the corresponding yAxis, it has the be a lower value than the one in series data so that the bars spans all over the axis.
2. It is because the bars length it calculated based on other data in the same series. So if the difference between the highest and lowest data is small, than the biggest bar will be quite long. You can check it out by passing data from group 2 to group 4 and the bars will have the same length then.
3. I changed the first 3 yAxis to be 30% wide and it helped with the spacing and also minimized the difference between the 4th yAxis.
Demo: https://jsfiddle.net/BlackLabel/c2kr7oy1/
Feel free to ask any further questions!
Best regards
Jakub