der Rest ist Bauchgefühl, ich weiß nicht, ob ich es halbwegs logisch erklären kann, aber ich versuche es mal:
am Ufer - sie gehen am Ufer spazieren; am Ufer liegt viel Treibgut; am Ufer brechen sich die Wellen; ich warte auf Dich am Ufer
auf dem Ufer - ist für mich immer eine Ortsbezeichnung gewesen, der immer etwas folgt, wie z Bsp: auf dem Ufer des Rheins/der Mosel/dem Neckar etc pp befand/befindet sich ...