Now I'm wondering: are there any LCD's around that have "built-in" on/off functionality for backlight?
They all do. That's the whole point - that is why it has pins 15 and 16 separate from the others, so that you can wire them to a control circuit - and you can switch either the cathode or the anode, as both are separate from the other pins.
It's your business how you do this, generally with a transistor. You can use a FET of course, but it has to be a "logic level" FET which will switch at three volts or less, the advantage being that it does not require a series resistor (2k2) in series with the base, though if controlling from an Arduino pin, it may be appropriate to have a (100k) pull-down to switch it off until the Arduino (or anything else). is initialised.
And the "I2C backpacks" which use fewer wires to drive the LCD generally include such functionality - using a transistor of course.
And: Actual "dimming" functionality is rarely needed; if anything you may wish two alternate brightness settings, one for daylight and one for night - in which case you could use a circuit in which you have the (NPN) transistor fed with a2k2 resistor from the Arduino pin and a higher value resistor such as 220k from that pin to Vcc. Setting the Arduino pin to input will cause the LED to be dim, setting it high will make it bright and setting it low will turn the LED off. (A fourth, mostly bright, level may be achievable by setting it to INPUT_PULLUP).