Before the ubiquity of watches, time was announced using church clocks and bell strikes. There's a big bell for hours (low pitch) and a smaller one for announcing quarters (higher pitch).
Signalling zero is not possible using "zero bell strikes", so 00:00 is signalled by 4 strikes of the quarters bell and 12 strikes of the hour bell.
Thus, the sequences go like:
11:15 1x quarter bell
11:30 2x quarter bell
11:45 3x quarter bell
12:00 4x quarter bell + 1x hour bell
Basically it makes sense then as all the quarters belong to the same hour.
'dreiviertel Vier' is short for 'dreiviertel der vierten Stunde des Tages'.
If I try to rationalize it, it is probably that a quarter (to me) is not a distance or difference, but a single thing. So my internal parser expects a Genitiv or another thing after it, not a preposition like 'vor' or 'nach'. 'Zehn Minuten vor/nach X' sounds fine to me, 'eine viertel Stunde vor/nach X' too, but 'viertel vor/nach X' just doesn't.
Yeah? Well, you know, thats just like uh your opinion, man.
And, its dismissive and ignorant. IMHO.