The “remove_filter” function only accepts 3 params: the hook name (“wp_date”), the callback function (“wpp_fix_i18n”) and the priority (10). You are using 4 params.
I’m sure your problem is related with the execution lifecycle. You are trying to remove a filter before it was created.
To solve it, wrap your function inside init hook in your theme functions.php to ensure plugin is loaded (and filter is added):
function mytheme_fix_date_issue () {
if (get_locale() != 'fa_IR') {
remove_filter('wp_date', 'wpp_fix_i18n', 10);
}
}
add_action('init', 'mytheme_fix_date_issue');