Yes, that CPU is a great choice. The only reason to gt a 3700X instead, is if you can use the 2 extra cores for productivity workloads (not gaming). Or if you have a high refresh rate 1080P monitor maybe.
and
Yes, you can save some money going with B450 motherboard. No, the GPU does not use the PCIe 4.0 bandwidth PCIe 4.0 is only beneficial for very fast SSD's, such as the new Corsair MP600 (which isnt even out yet I think). I would recommend B450 to save some money.
Perhaps get 3600Mhz memory with the money you save on the motherboard, although 3200 Mhz should be fine too.
Other than that, no problems with this build. Looks good! MP510 is a great SSD.