Generating a key can be done just as well anywhere. I mean, there are different levels of random and entropy, but a hardware wallet doesn't inherently do this better than a python script.
A hardware wallet does it without the secret ever being online, on any machine thats online, etc.
When you go to sign a message to nostr, you'd have to ask the hardware to do it and go through it's whole process for signing, ' are you sure? ' etc.