If you use serial console to interrupt U-Boot (I have not looked at whether NX uses U-Boot though), then you have access the U-Boot command line. If NX uses U-Boot, then that command line (the very thing prompting to hit a key to stop) has access to the environment variables of U-Boot. That delay and wait is a macro expansion of the environment variables, and you can easily edit this.
If you have U-Boot and edit the environment variables, then you can also follow the expansion of variables and remove (or reorder) the search for other boot media such that your media is the first one searched for and there would be no need to wait for alternatives.
Typically, in a U-Boot command line, you would be interested in these commands:
# Replace MACRONAME with one of the printenv environment variables:
# To continue booting:
There are also various “save” commands. If you make a change and do not save, then those macros can be tested since this is still active for that boot. Future boots will lose the edit unless you save. Beware that once you remove the two second delay that you will need to flash again before you can get back to a U-Boot command line. This means you might want to clone prior to testing a “save” which removes that two second wait.
Note: Xavier does not use U-Boot, but so far as I know all other Jetsons (including NX) use U-Boot. I could be wrong.