Is it improper?
Of course. The
<kbd> element is meant to represent user input. It is not a means of making links look fancier or "styling" your posts, so to speak. It has a semantic meaning that should be obeyed and should not be abused. Just like we only use inline code for code and we don't use all-capitalized letters to emphasize text, we shouldn't be using the
<kbd> element to make your links look like buttons. That's not what it's there for.
Making it Harder on Visitors
For those who really insist that using
<kbd> for links makes them look nicer - no it doesn't. It makes it harder to even tell that it's a link. Take this basic example:
Which one would you expect to be the link? The blue text that looks like a normal link, or the button-looking thing that doesn't have any resemblence of a link?
Where else on the Internet do you normally see inline links styled to look like buttons? Oh, what's that? Nowhere? So why are you doing it here? All it does is make it harder to tell if it's clickable or not.
"Well, there's no rule that says I can't."
Do we really need to list things out that plainly? The Markdown features are not there to accomodate your preferences or letyou make your post look however you want it to look. The features are there to convert easy-to-read text into valid HTML, and in the cases of pure HTML, provide a direct way of using HTML. The end result should still be semantically correct. By saying "Stack Exchange provides the features, so why not use them?" you might as well be saying "HTML provides the features, so why not use them?" Why not use them? Well, that's pretty simple to answer - because that's not a valid use of them.
HTML is a markup language; the elements it outlines are not there to style your text - that's what CSS is for. These issues are exactly why all the stylistic elements (such as
<font>) and attributes (such as
bgcolor) were removed from the HTML specifications.
Flagging Formatting Issues
Formatting issues such as
<kbd> abuse are certainly not something that need moderator involvement in just about any case. Editing the post yourself to change the formatting to be correct is a perfectly fine solution, and I encourage any user to do so. If a user doesn't understand why you made the change, explain it to them or link them to a relevant question here on Meta. If they're insistent and keep rolling back the changes, then flagging for a moderator might be helpful, although we may already have a "rollback war" flag on the post. Sometimes a moderator indicating that the change is correct is all it takes, or locking the post may be the final option.
In the end, correct use of formatting will always prevail (at least in my eyes).