Changing workspace with python
Here is a quick solution, which allows you to change the workspace from Python:
bpy.context.window.workspace = bpy.data.workspaces['Layout']
All the available workspaces are stored in bpy.data.workspaces, so you need to pick one from those.
Now it is just a matter of putting your favourite into a Python script and register it as an operator, so you can map a key to it :)
Good luck!
EDIT:
As promised, a simple addon file: github blender-workspace-swapper
It does not contain keymaps yet (to be fair, I am not sure how those are created for addons, maybe someone else could help?), but calling the operator via the operator search works.
Alternatively, calling it from the python line like this:
bpy.ops.workspaceswapper.swap(targetWorkspace=&quot;Animation&quot;)
If the workspace does not exist, it will append it from the startup.blend in the config folder (make sure that one exists).