Le tracé actuel de la B 304 faisait partie de l'ancienne Fernverkehrsstraße 10 (FVS 10) en 1932. Alors que la partie beaucoup plus longue de Hombourg à Augsbourg reçoit le nom de Bundesstraße 10, la section de Munich à Freilassing reçoit le numéro indépendant 304 dans la deuxième phase de la numérotation des Reichsstraße. Après l'annexion de l'Autriche en 1938, le tracé de la route est prolongé vers Salzbourg, Bad Ischl et Bad Aussee jusqu'à Trautenfels (aujourd'hui Salzkammergutstraße B 145), où il se termine au croisement avec l'Ennstal Straße B 320 (puis Reichsstrasse 318).
Jusqu'au , il n'y avait généralement pas de péage pour les camions sur la B 304 conformément à la loi fédérale sur le péage routier (Bundesfernstraßenmautgesetz, BFStrMG). Depuis le , les Bundesstraße sont généralement soumises à des péages pour les camions de plus de 7,5 tonnes.