I’d normally suggest that, but i think right now, 3000 series is probably end of the line for AM4. It’s unclear whether “until 2020” means 2020 will get an AM4 CPU update or that’s when they don’t get the next generation.
Given Zen3 is a new design (rather than a Zen2 refresh) and coming in 2020, i wouldn’t be planning on board compatibility beyond Ryzen 3000 personally. Also, AM4 was pushed in terms of memory bandwidth already with Ryzen 3000 so i really think we’ll see a new socket with Ryzen 4000.
I’ll be glad to be proven wrong (as i plan to upgrade from my 2700x at that point), but i’m not planning that way myself.
I’d go for a decent B450 board (unless you need some X470/570 feature), spend a little more on CPU and hold out until 2021-2022 or later depending on what comes out.
You’ll need money for DDR5 RAM at that point most likely as well. So don’t overspend now, is my vote.