Reacting to modified question:
**If I inject data into my HTTPS POST requests in this way and then pass the request to a view, can this data be considered secure, or is it able to be seen on the client-side?
If you're injecting data into an incoming request and then passing that data to a view, the data itself is on the server so it's as safe as anything is on your server. It is not accessible to the client unless you include it in the view and thus the rendered response that you send to the client. Once you send it to the client, it's wide open to the client.
If you only use the injected information as something your server temporarily uses to help build the view (like perhaps a client credential or client identifier) and the injected information itself is not present in what you send to the client, then that injected information is not accessible to the client.
Said, another way, the injected information is only available to the client if you send it to the client as part of the http response. The client has no access to data being used internally on the server.
FYI, all of this above has nothing to do with encryption. An https response going back to a client gets encrypted by the https transport the moment you hand it off to your https library (before it leaves your server process) and it stays encrypted until it arrives in the client process at the other end of the http connection. Once inside the client, the data is no longer encrypted (so it can be used by the client).
Original answer based on original content/understanding of the question:
If I inject data into my HTTPS POST requests in this way and then pass the request to a view, can this data be considered secure?
It is pretty much as secure as any client-side data can be. It's secure from outsiders, but not secure from the client themselves and not being secure from the client itself is fundamental to the client/server architecture.
Data that a client should not be able to see should never be sent to the client in the first place. It should be kept on the server and perhaps connected with the client request via a server-side session or some technique like that.
I recently read somewhere that HTTPS requests are only encrypted in transit (as opposed to end-to-end) in order to prevent MITM attacks, which seems to imply that they are unencrypted on the ends themselves.
HTTPS is encrypted from the point at which the data leaves the client code all the way to where the data enters the server code (or vice versa). That's end-to-end where the ends are from the client's code to the server's code (or vice versa depending upon which way you're sending data). Thus, it is also encrypted in transit between those ends.
So, the question is very confused about this.
If this is true, it would mean that the user is able to see them on the client-side, making data sent to them insecure.
Then, this is also confused. All data that exists on the client-side is potentially viewable by the user (with a small amount of coding skill). The entire client-side is insecure from the client itself. That is just a truism of the client-server architecture. So, the notion that you could merge in some data with your client-side code and that data could never be viewable by the client is just misguided.
In your client, the data sits in some user-visible form in plain text. Then, the user carries out some action to submit the data to the server. Your client-side code receives the data in plain text, merges in some more data in plain text and then calls some function to initiate the https request. Up to now all the data is being managed by your client-side code and it's all in plain text. A coder of moderate skill with access to the client could follow what was happening.
When the function is called to make an https request, the underlying code established the https connection to the server and this includes negotiating encryption mechanisms. The data is then encrypted (before it leaves your client-side process) and the data is sent over TCP to the server fully encrypted.
It's not viewable by anyone on the network or even in the local OS because it is end-to-end encrypted.
But, while the data was being assembled in the client (before the https request was sent), it was viewable by anyone with access to your client and some coding/hacking skills.