I had that inverted gate idea for a little while, but after thinking about it, it felt flawed

The gate would oscillate between closing and opening by itself, defeating its purpose...
The best way to do it (for me) is probably to make it directional either by input (if N/W/S/E is blocked, other directions are unblocked) or by output (if any one of WSE/NSE/NWE/NWS is blocked, N/W/S/E, respectively, is unblocked). Other ways to do this are plenty and possible.
That'd be four new objects either way (unless you confine it to the horizontal or something), but it'd be very useful. I wants my antikey.
For the 90-degree door... A mini-animation to show.
| W W W W W W W
| GK GK GKW GKW --> KW WKW WK WKW KW etc, inaccurate due to parallel processing as opposed to serial processing of tiles
| W W W W W
Where W is key-wall, G is a conveniently placed magical debug girder.
Note that if the key is activated at any moment, the activated wall would go round and round...
Using exceptions (not activated by own wall) would work well though, as long as you use a special key-wall just for this key.