We do not currently know by value any two distinct inputs of SHA-256 that map to the same output, and we have no practical method to find any such two values. So there is no imperious reason to fear that one exhibits a file with the same hash as a private file and different content, even with assistance from whoever makes the private file.
On the other hand
is it really secure to upload SHA-256 hashes of private files ?
Not necessarily so: that allows to confirm a guess of the private file. So if you post the SHA-256 of a credit card number (even with expiration date appended), that allows determined adversaries to find that info with near certainty.
Addition 1: If we publish the hash of something private, we can still be safe against brute force (guess-and-verify-by-hash) when there are so many plausible values of that private thing that computing their hashes until having hashed the right value is infeasible. One way to be protected is to have at least say 128 bits (16 bytes) uniformly random and kept secret in that something private. More precisely, we want the (Rényi or min) entropy of that something private to be high enough. As rightly noted in comment, even large private things can be vulnerable: knowing the hash of a file allows to determine if it belongs to a collection of files, and in the affirmative which file it is. In the case of security camera footage, we are safe if the hashed footage is not available in any form to the attacker; but if it's an extract of a larger footage known to the attacker, there's chance that the attacker can determine the start and finish, and the extract.
Addition 2: Publishing the hash of something can be a security issue for a different reason: when that something is intended to be processed with that hash, or a variant thereof. For example, publishing the SHA-256 of an HMAC-SHA-256 key of more than 64 bytes does not allow finding that key, but reveals a functionally equivalent 32-byte key (one producing the same results when used as key in HMAC-SHA-256). Same for publishing the SHA-512 of an Ed25519 private key, or even one half of that.
Question 1: Does SHA-256 send more than one input to each of its outputs (the bit sequences to which it maps at least one input)?
That's most probably true. An heuristic argument can be made similarly to the bonus question in the last section of this answer.
If so, have mathematicians shown this thoroughly?
No, that's not mathematically proven.
Question 2: What is the biggest number $n$ such that we currently know that SHA-256 maps to each of its outputs at least $n$ inputs?
I think $n=1$ for "know" in the sense mathematicians use, and "each of its outputs" defined as in Question 1. Argument: I don't see how to prove that there does not exist a message giving a hash that is not reached by any other message.
But heuristically, it's expected $n$ is extremely large. I'm betting the house on $n\gg2^{(2^{63})}$, with heuristic arguments as in the next section of this answer.
Bonus question: does SHA-256 send to each 256-bit sequence at least one input?
That's very likely, but not mathematically proven.
A first-level heuristic argument assimilates SHA-256 to a random function, and then the coupon collector problem shows that in any set of more than $2^{263.48}$ messages (chosen without knowledge of the function) it's likely that all values are reached, with probability of the contrary dropping fast with the exponent in the number of messages. And there are $2^{(2^{64})}-1$ messages for SHA-256, with $2^{64}$ immensely more than $263.48$.
A finer model of SHA-256 must take into account it's MD structure, that is an iterated compression function aiming at being a random function, and the length padding. With this, it's arguable that for 119-byte messages (that is the maximum byte size in SHA-256 messages for two compressions), the number of inputs in the first compression is so way above the coupon collector bound ($2^{512}$ vs $2^{263.48}$) that most certainly almost all the $2^{256}$ values are reached by the first compression. And then we have even much more inputs in the second round (nearly $2^{256+512-9\times 8}=2^{696}$) making reaching all outputs even more most certain. And even if there was some curse for 64-byte blocks ending in 80 00 00 00 00 00 00 03 B8 (corresponding to 119-byte), we have plenty of other message sizes to find a non-cursed one.