Before answering your questions in detail let me state that as far as I know third parties cannot know if the invoice was paid after it was expired. Although I like Andrew Chow's answer I think I have some more bits to add.
Take a look at an invoice that I created:
user@computer:~$ lightning-cli invoice 10000000 bitcoinstackexchage explainInvoices 3600000
I decoded its bolt11 string here:
user@computer:~$ lightning-cli decodepay lnbc100u1pde7epdpp5p0yta3wcf6c3mucdhp6jkga54wqn5mmcwvkmjn0e6r9r6fgarx7qdqcv4u8qmrpd9hyjmnkda5kxetnxq9rdm5qcqp2yzl5v00cdl9rq5egsfgknerxecczdzxldz9vgwnwcxw9snn6mst85z4gqd4ex59s0kzhzxnwyrdc88kfgkq908medwwd63pqqjnkr2gp6d6w2s
As you can see there is not that much sensitive information in here:
currency: bc --> no big deal
created_at: --> obviously dates might be interesting with relation to privacy. The timestamp is created by your system clock. Assuming no manipulation of the clock one learns that at this time the purchase took place.
expiry: only relevant in the sense explained above
payee: well it reveals you for obvious reasons. So you make public that at a certain time for a certain reason (c.f. description) you expect a payment of a certain amount (c.f. amount).
msatoshi: as payee
description: here comes all the social engineering which you didn't ask for
min_final_cltv_expiry: I would assume no problem here unless you can somehow afford a 51% attack and rewind some blocks while initiating a payment
payment_hash: as long as the hash function is secure (which is the base assumption of the lightning network) no one could do anything with the payment hash. If, for whatever reason, a third party on the chosen route (which is also private) knows the preimage of the payment hash funds could be stolen. However, this is irrelevant as the routing node knows the payment hash anyway.
signature: cryptographic signatures are supposed to be safe.
Therefore I conclude similarly as Andrew:
Does it affect -most importantly- the safety of the funds?
I don't see in which way it would.
Does it negatively affect the privacy or something else?
Other than the mentioned points which belong more to social engineering I would say no.
Could the actual payer prove (cryptographically) that they were the one that paid the invoice?
AFAIK there is only one way to prove that you paid an invoice. The node needs to have only one channel (during the relevant timeframe of invoice creation and expiry / received payment) which can be looked up on the blockchain and needs to provide the preimage. Moreover we need to assume that no one on the route publishes the preimage. Otherwise identifying the payer of an invoice seems impossible.