Fix recursive extras with mixed production markers (#21181)
Recursive extras were omitted when a dependency marker also included a
production condition. For example, when `dev` recursively selects `test`
on macOS, `iniconfig; sys_platform == 'win32' or extra == 'test'` was
only retained for Windows.
Split mixed markers into their production and extra-specific portions
before flattening recursive extras, matching the resolver's existing
marker handling.