I think both translations are fine, they just use a different meaning of the word "work:"
- Work as an activity -> "I was late for work."
- Work as a place -> "I was late to work."
Here's a neat way to intuit this: you would say "I was late to the movies" but you would say "I was late for the movie." "The movies" refers to the theater as a location, "the movie" refers to the actual movie you were gonna watch.
It's perfective according to http://starling.rinet.ru/cgi-bin/morphque.cgi?flags=endnnnnp
It sure would make things a lot easier and more sensible if they used the correct voices to match the grammar (I. E. Man's voice for masculine endings and woman's voice for feminine endings). This change would also better help prepare us for real world conversations with Russians.
На мосту и на берегу - these are in prepositional/locative case, showing the location where something is happening or where something is located. They just have weird endings and I think it's due to how they historically declined. They are masculine nouns and in nominative are мост и берег. Here, we have an indicated motion (being late to a place) as indicated by the preposition на, and that requires accusative case, turning feminine Работа into Работу. Я опоздал на работу, но сейчас я на работе - I was late to work, but now I am at work.