1. In effect it means breakfast is extra cost, where you can clearly see its adjectival function. 2. Its a predicative complement of the verb be; PCs are normally nouns or adjectives, not adverbs. Clearly it's not a noun, so it must be an adjective.
J, you have taken the sentence in the literal sense.
Going by Reason 1: The rate for a room is £30, but breakfast is extra cost. (Does it make sense if 'extra' had adjectival function? It does not make sense.)
The rate for a room is £30, but breakfast is charged additionally. ('extra' here means charged 'additionally'.)