The libevent2 problem is that commit 265e40b481d23ea0ee8b4e1705fb013532d1f6b2 removed a check for the headers, and there's a conditional that relies on the result of that check, so that conditional always fails and configure falls back to linking libevent2 with -levent, it just happens that this works on every platform that isn't OpenBSD (the whole conditional path that gets skipped was added specifically for OpenBSD in the first place).
Since libevent2 is mandatory now I think it makes sense to add the header check back in and change the fall back path to an error.
This patch gets tor successfully building HEAD (5e571900b341b) on OpenBSD -current amd64
On the latest released OpenBSD (6.0), Tor builds on at least the latest of 0.2.{7,8,9} and 0.3.0. The libevent problem was fixed (again!) in #19902 (moved).
There are a few warnings but I think they're all just the ancient GCC OpenBSD uses getting confused, and there's probably no way to deal with them, ie. the pragmas not working to silence the overlong string warnings.
There's one test (util/time) that fails on 6.0 but passes on 6.0-current -- the problem was a bug in OpenBSD libc, and the OpenBSD devs didn't think it was worth backporting the fix to 6.0-stable, so I don't know if that matters.
So everything is mostly fine on the OpenBSD front at the moment.