A contextual GetLegendGraphic request doesn't give you a legend in a bounding box, it gives a legend for a bounding box (of a specific GetMap request).
A standard GetLegendGraphic request gives you a legend that represents all the styled attributes in a WMS layer, if you're looking at the whole map then that might be appropriate, but if you are zoomed in to ...
If you look at the GetCapabilities answer of that server https://hazards.fema.gov/nfhl/services/public/NFHLWMS/MapServer/WmsServer?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities you can see that layer 4 has a scale limit that is set with keyword MaxScaleDenominator. The administrator of the service has considered that it is not appropriate to show ...
I guess you already defined bound to your map object (like this https://leafletjs.com/reference-1.6.0.html#latlngbounds). Try something like this:
SamTux's answer has a very complete example on serving WMTS layers with MapServer. You can also serve the layer directly by pointing the DATA to the WMTS Capabilities endpoint of the WMTS layer: