I am planing on adding a caching server using a mac mini and need to understand how it will play with the JSS.
As of now I have a Software update policy that runs onece per day and goes to Apple for update.
Now once I turn on the caching service on my server app, do I need to change the Software update policy in the JSS to point the internal caching server? To my understanding once the service is turned on, the computers on the network will be redirected to the internal caching server when they try to get update from apple (which is where my Policy is set to go for update)
Lastly can I prevent end users from installing updates? I want to fully manage software updates
As long as your devices are behind the same NAT, there is no client configuration necessary. See the macOS Server Help for more info. This is the big advantage of Caching Service over the (now deprecated) Software Update Service.
You may also want to make sure you are testing the developer previews of the upcoming fall releases of macOS and Server.app.
Correct. Setting the software update policy to use Apple's update server will use the update server in the cloud (if no caching server is present), or a local caching server (if available).
StoneMagnet is correct that specifying a software update server uses the old SUS mechanism, not caching service.