I changed the config as you said, like this: "1: main", "2: extra"... and tried with debug enabled.
There is something wrong here. See my log for workspace "1: main"
config_parser.c:parse_config:313 - CONFIG(line 11): workspace "1: main" output DVI-D-1
config_parser.c:parse_config:313 - CONFIG(line 16): bindsym Mod4+1 workspace number 1
config_directives.c:cfg_workspace:333 - Assigning workspace "1: main" to output "DVI-D-1"
Initializing first assigned workspace "1: main" for output "DVI-D-1"
When I start i3 I get the "main" workspace, that's ok. But now:
commands_parser.c:parse_command:271 - COMMAND: *workspace number 2*
There is no workspace with number 2, creating a new one.
Creating new workspace "2"
Closing old workspace (0x2484af0 / 1: main), it is empty
So workspace 2 is not recognized at all. After switching to workspace "1: main" again:
commands_parser.c:parse_command:271 - COMMAND: *workspace number 1*
There is no workspace with number 1, creating a new one.
Creating new workspace "1"
And there, "1: main" workspace won't exists anymore.