i think i figured out the onebox player issue. it may have something to do with how long it takes vimeo to get meta and api stuff into each video page, and cached. if the URL is posted soon after uploading the video, then it's not going to get properly embedded by discourse's onebox.
i'm not sure if there's a way to force discourse to update the cached data that it's scraping to generate the onebox embed, or if it's necessary to just wait for vimeo to finish transcoding all the various versions, or whatever else it does in the background after a video is uploaded, saved, and "made available."
at least, that's my guess as to how it all works. it's a giant black box to me, on both the vimeo and discourse sides.
case in point: i got my video to show after including vimeo's iframe embed code, which is not rendered by discourse, along with the http URL in the post and re-saving it. i deleted the useless iframe block, re-saved the post, and the video remained properly oneboxed and playable.