Overridden config is not working with environment config

I have the following tree containing my config:
site/config
├── _default
│ ├── config.yaml
│ ├── menus.yaml
│ └── params.yaml
├── development
│ └── config.yaml
└── feature-x.yaml

I have _default which contains the global (production) configuration files.

development only overrides a couple of things, such as the baseURL.

feature-x.yaml is used in our build scripts (reasons outside of our control) which is dynamic, so on certain branches in CI, we want to bolt on an extra configuration file to override the baseURL and some credentials.

I’ve noticed two issues with this setup:
1 - hugo -s site -v config --environment development does not print out the development configuration, yet running HUGO_ENV=development hugo is site -v config does print out the development configuration
2 - hugo -s site -v --environment development works correctly, yet hugo -s site -v --environment development --config "feature-x.yaml" does not take the configuration values from feature-x.yaml. In our case, we need environment based configuration but also the ability to bolt on extra configuration files in certain instances, which are not environment related.

Are these cases bugs? I couldn’t find anything in the documentation to describe if these cases are valid, or not. Case 1 seems like a bug, but case 2 seems perhaps like a limitation, though it would be great if it behaved as I described.

Is it possible to combine usage of --environment and --config to merge configuration files together?

Hugo 0.64.1
Ubuntu 18.04