There has never been any usage in which "dē" and "ab" signified opposite directions.

In all usages of both words, they designate the starting point of a movement. Anything that moves, moves away from the starting point of that movement.

The only difference in meaning is that for "ab" there was no information about the direction of movement in space, while "dē" implied that the direction of the movement comes from somewhere above towards somewhere below, e.g. something that falls from a tree.

In later stages of the Latin language there was a tendency to no longer pronounce the final consonants of both "ab" and "ad". So in classic Latin going "from X to Y" would be "ab X ad Y", which in later pronunciation would become the ambiguous "a X a Y". Because of this ambiguity, the formerly almost synonymous "dē" became completely synonymous with "ab" and it replaced "ab" in all usages, so that in the Romance languages going "from X to Y" became "de X a Y".

In classic Latin, the less definite "ab" was usually preferred when referring to real or concrete movements, while "dē" was usually preferred for imaginary or abstract movements, e.g. when saying that a child comes from its parents, a literary work comes from its author or a steel tool comes from a blacksmith.

"ab ovo" meant "from egg" and "de ovo" also meant in older Latin "from egg".

However, in the late Roman Republic, after it became fashionable to educate the children in the traditional Greek ways and typically with Greek professors (normally slaves), the necessity of translating the Greek texts has produced a very large number of new words in Latin, either by creating new composite words following the model of the corresponding Greek words, e.g. "hypothesis" => "supposition", or by giving additional new meanings to existing Latin words, to cover the meaning of the Greek words for which they were substituted in translations.

A very large number of Greek philosophical texts had titles such as "About X", i.e. "Peri X" in Greek. When translating such titles, "dē" has been chosen to translate Greek "peri" (which had a meaning close to English "around" or "about").

After Latin became strongly influenced by the Greek literature, "dē X" became frequently used to also mean "about X", not only "from X". However the sense "from X" has always remained valid, and which sense was meant has to be discovered from the context of "dē X".

One who would tell how someone had thrown an egg to the ceiling and the egg had broken and the yolk had fallen from the egg on his head, would say that the yolk had fallen "de ovo" with the meaning "from the egg", and not with the meaning "about the egg".

In "de facto", "de jure" and many of the similar expressions, "de" does not mean "regarding" or "concerning". It means "from", in the sense "caused by".

"De jure" does not mean "concerning the law", it means "from the law", in the sense that the cause why something has been done or must be done is because the law says so.

"De facto" does not mean "concerning the facts", it means "from the facts", in the sense that some present state has its cause in the facts (i.e. past actions) of some entity, e.g. the x86-64 ISA has become a "de facto" standard ISA for personal computers, because for many years the Intel/AMD CPUs in IBM PC/AT compatible computers have outcompeted everything else.