Preheat a classic (not Belgian) waffle iron to medium.
In a large bowl, whisk together the flour, baking powder, sugar and salt.
In another bowl, whisk the milk, eggs, oil, melted butter and vanilla until smooth.
Pour the wet into the dry and stir just until no dry flour remains. Lumps are fine. Let the batter rest 5 minutes.
Cook each waffle only until set and dry to the touch but still blond, about 60–90 seconds.
Cool in a single layer on a wire rack to room temperature. Stacking them warm makes them soggy.
Freeze in a single layer on a sheet pan until solid, about 2 hours. Transfer to a freezer bag with parchment between the waffles.
Toast straight from frozen on a medium setting.
