As far as I know, the overall size of the legend cannot be forced, and there is no word-wrapping logic (only the labelling engine in the map supports word wrapping, the legend graphic builder is an entirely different animal).
After some experimenting and turning GeoServer's logging level up to GEOTOOLS_DEVELOPER it turns out that GeoServer didn't understand your SLD as it didn't contain any schema locations. So changing your SLD to start with the following worked.
<StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http:...
I found out, that I missed the label-TAG with PropertyName:
I just tested the WMS service in QGIS 3.16 and got an error message for version 1.0.0 when trying to load the layers.
If you change the link to https://wms.geo.admin.ch/?VERSION=1.1.0 the layers just work fine in QGIS.
From a quick look at the capabilities files version 1.0.0 supports only <Format><PNG /><JPEG /><SVG /></Format> while version 1.1.0 supports:
It all depends what layers are available at particular WMS service. Since you didn't specify which specific service you are using, it's impossible to give definitive answer. But generally you start with the GetCapabilities request to your WMS service and check what layers are available.
For example, for one of geonorge.no WMTS services request would be (gkt ...