get_the_categories filter returns an empty array

Changes occur when a filter is applied, but’s that’s not where the rules for the alteration originate from.

Either your theme or a plugin you are using must be hooking into that filter and be adding a callback function/method, that is responsible for the $categories array being emptied.

Deactivate all plugins, switch to a standard theme. Things should be back to normal. Reactivate everything one by one and find the culprit.

Alternatively,

cd /path/to/wordpress/wp-content/plugins/ && grep -r 'get_the_categories' .

from a *nix shell should also help you find it.