Order of processing extractors and pipeline depends on configuration on Message Processors Configuration in System - Configuration. If using extractor, check if Pipeline processor is below Message Filter Chain, if you want to use extracted field in pipeline rules.
Also note, that you can use grok() pipeline function in same (or new) pipeline rule as key_value pipeline function is you want, it’s not necessary to use extractor at all. It depends on what do you prefer. https://docs.graylog.org/en/4.0/pages/pipelines/functions.html#grok