Assume I have an application layer protocol that segments the packet itself. So if it has 100 MBytes of data, then it will divide the data into 10000 segments and send each segment individually to TCP. TCP will not have to do reordering. So will this kind of behavior change any parameters of the network? Will my throughput be lower? Or will the congestion control algorithms of TCP work just as well compare to an application layer protocol that sends data only once to TCP? In a way I guess this is similar to a system sending too many small-sized data over the network (mouse traffic). But I'm not sure what effect that will have either.
TCP will not have to do reordering.
It does that, there's no way to stop it.
If your application sends (very) small chunks of data, TCP tries to collect them and transmits them in larger segments. There's a short timeout for collection (200 ms by default, see Nagle's Algorithm) and when no more data comes from the application, the current TCP segment is sent out. This potentially increases latency and you can use the TCP_NODELAY socket option and the PSH flag to tell TCP to send and forward each chunk immediately at the possible cost of increased overhead and wasted bandwidth.
If the application already takes care of data segmentation, reordering, congestion control, and delivery confirmation you might want to consider UDP which allows total control for the application. However, trying to reinvent TCP usually fails.