Yes. I have this working in on one of the panels in production and have no issues. You can do that in single modal call. Timeout work only within your plugin. It ignores other plugin modal states and also PS modal dialogs.
It sounds like PS enters modal state and does not leave it. That would block keyboard shortcuts.
Also, it can quite often have errors without letting you know. Errors not shown - How to workaround non-existent `onunhandledrejection`