Did you verify the timestamps of your input data? Do the table records have smaller timestamps than the stream records? Also, did you increase max.task.idle.ms
config to allow ksqlDB to time-synchronized the inputs?
Also note, that repartitioning (happens as you join the stream to multiple tables using different columns) may result in un-order in the stream.
Is this then whats causing the oddity in the behaviour? Would overwritting and setting the timestamp to 0 on the materialised tables then potentially fix this problem as suggested in the video?
Well, that might be possible (but not straightforward to do with ksqlDB compare to Kafka Streams), but it effectively disables time-synchronization. Not sure if you really want this.