You could do it with AutoHotKey (Windows only, sorry Mac and free. There may be a Mac equivalent. I don't know cause I don't do Apple). It is not terribly hard to learn for what you want to do if you have a little programming experience. I have hot keys for many functions that Lightroom did not provide keys for but which I use often. For example, press a key to go to PS, I could probably (and did) adapt that to go as a Smart Object. Could also probably set up on a control pad such as Genovation CP24 ($85-$100). I use both and find them indispensible. Lightroom becomes much faster and easier to use if you have a good set of hot keys that suit your workflow. Just noticed that I had a macro (AutoHotKeys) that did just what you need but I needed the key for a different macro so I scrapped it. Don't use Smart Objects much.
I can't find the Smart Object macro but here is the macro to Open as Layers which is in the same menu as Smart Objects so you would just substitute the Smart Objects position for the position of Open with Layers. This is AutoHotKey. This the macro below.
;Start
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#Warn ; Recommended for catching common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
SetTitleMatchMode, 2
IfWinActive, Lightroom
{
; other macros here
#5:: ; open as layers in Photoshop
SendInput g ; go to Grid in Library mode.
; sleep,500 ; not used left for testing. A delay to allow the computer to catch up.
SetTitleMatchMode, 2 ; Substring match. Set up the next command for desired use.
WinMenuSelectItem, Classic,, 4&, 10&, 18&
;MsgBox, 0, Ya Hoo, Opening as Files Layers, 3 ; test to see if it gets here
return
}
; End
It is fairly simple. #5 means the Win Key + 5 is the hot key. Your choice.
WinMenuSelectItem is where the work is done. It defines LR Classic as the program it run in, 4& means the 4th menu at the top (Photo), 10& means the 10th item down in that menu (dividing lines are counted) which is Edit In. 18& is the position of Open in Layers. You would change that to 15&, the position of Smart Objects.
Text following a ; are comments and are not processed.
MsgBox is commented out. Used for testing.
You can see it is fairly simple. Once you have this macro you can extend it to any item in the menus regardless if they have a hot key or not.
You can use this macro by pressing Win Key + 5 or as I did, I assigned #5 to a key on Genovation so that it was a labeled single key press. If you don't want the Genovation just use the AutoHotkey macro. I have not used this macro lately so if it does not work check the position of the commands on your version of LR. I generally use the Win Key as a hot key because LR does not use it and therefore no conflicts.
As an example of a very useful timesaving macro (using Genovation only) I use when I batch process files for noise reduction using Dxo. The processed files come back stacked but with the original file on top. Dumb. You need the processed file on top because that is the one you are going to work on. Fortunately the files are arranged in a systematic manner. I have all files open stack and select the first stacks processed file. Press my hot key and it moves the processed file to the top of the stack, closes the stack and moves to the next processed file so I can repeat the process. I just sit there and press the hot key until all the files are done. I have tried setting it to a repeating key but it sometimes messes up so this method is better as I can correct any errors easily. There may be 50-200 files so moving with the mouse is quite tedious.
You only need Genovation if the program has hot keys for all the operations you wish to execute. AutoHotkeys is needed if there is no hot key for some of the commands you wish to execute. In the above macro for Smart Objects, there is no hot key for Smart Objects so you have to create one based upon its position in the menus. Caution: in new upgrades to LR it is possible that the command you wish to execute will have its position changed in the menu. It is easy to change the numbers to the new position if you are aware of this.
AutoHotKey can be compiled so it runs very fast. You can Google this, there are tons of tutorials and videos.