It seems like when you pass an up_vector to move_and_slide, that handles moving platforms for you! Although not 100% correctly...
The manual implementation was added again without an up_vector and that seems to work perfectly now.
Works fairly well, although it doesn't account for changing acceleration which happens due to the changing gravity. I guess this is good enough, since it does hit if the player isn't careful