Here in verse 12, Jesus' disagreement with the scribes becomes clear. He agrees with them to a point, that "Elijah must come first." He signals His disagreement by using the word "but," an adversative conjunction, which joins two thoughts together while indicating a difference or exception. In this case, but means "on the other hand," "to the contrary," "except that," or "however."
Jesus' disagreement is with the scribes' interpretation. He is in no way saying that there will be a future Elijah beyond John the Baptist. He simply reiterates what Malachi 4:5 says, adds "and restore all things" to it, and then clearly states that this prophecy has already been fulfilled by John. He had already come, and they had missed him. They had rejected the message of the Elijah to come and did to him whatever they wanted. Here they had "the Elijah" right in front of them—the fulfillment of Malachi's prophecy—and they killed him!
To take what Jesus said further, because He paraphrased the future tense of Malachi 4:5-6, is to twist and add to what He said. All He says is, "This is what the prophecy says, and this is My disagreement with the scribes' interpretation."
John the Baptist clearly came before "that great and dreadful day." The last biblical day—indeed the "last hour"—was already begun in the AD 90s, as I John 2:18 states. God does not perceive time as we do; we are the ones that must adjust our thinking.
John W. Ritenbaugh
Prophets and Prophecy (Part 3)