There is no problem with switching the 301 redirection to go the other way, even if users have it in their browser cache. It will not cause any redirect loop issue because modern browsers invalidate a cached 301 redirect as soon as they they encounter a redirect cycle. Thus there is no disadvantage beyond the possible slight hit of the 301 itself, and your old URL will not be "tainted" in any way.
If you decide to switch it back, just make your 301 point the other direction, from contact-us
to contact
. This will not cause any redirect loop issue, as modern browsers invalidate a cached 301 redirect as soon as they they encounter a redirect cycle.
In other words, the long redirect caching time is not an issue since browsers will invalidate the redirect as soon as they see another redirect to the cached redirect's source URL. This also means that it is impossible to have a "tainted" URL. See the discussion here for details on browser redirect caching behavior in the presence of a cyclical redirect.