How do I alter just the framerate of a VP9 webm without affecting anything else?
This has come up before for other codecs / containers.

This DOESN'T work in ffmpeg without transcoding, since ffmpeg unfortunately isn't set up for messing with timestamps on non-decoded frames.

I think you should be able to do it with this (untested):
mkvmerge --default-duration 0:30fps  in.webm -o out.webm

Where 0 is the track-id of the video track.  Check the man page for mkvmerge for more details.  Note that it says that --fix-bitstream-timing-information is only implemented for h.264 currently, so your output will have a vp9 stream that probably still says it's 1000 fps, but the container will have frame timestamps at 30fps.  Players almost always use container presentation-timestamps, though.

If there is audio with the video, I assume it's the right length for the video being 30fps?  Otherwise that's a big stretch needed...