As far as I know, when you make modifications, you need to release the modified source code together with the product. That means, that you can not keep it a secret, that only you know, unless no one ever buys your product.
I am not so sure about what you say about releasing it to only paying customers. That might be true. In that case one of the original developers could buy 1 license or the community could pay for 1 license and this way get the source code. Then the developers of the modification would get some pay and the original developers would get the source code.
The GPL gives you multiple options to comply with it. Roughly summarizing, either you put the source code onto the same medium that contains the object code, which is what xyzzy_plugh is alluding to, or you can put it onto a web server and accompany the object form with a written offer that it's on that web server. See section "6 Conveying Non-Source Forms" of the GPL.
The GPL only requires you to make the source code accessible to those people who also get the binary from you, not everyone, but most entities just allow downloads for anybody. It's more expensive to implement checking than it's to just allow downloads for everyone. xyzzy_plugh is splitting hairs here.
"Contributing back to the community" sorta implies you're opening a PR, following coding guidelines, writing tests even perhaps. What happens in practice is corps just hack everything together and rush stuff out the door -- no communities want those contributions. It's rare that these sort of releases contain anything novel or useful. Take a look at the OSS releases for Amazon's products (Echo, FireTV) and be prepared to be underwhelmed.
Exactly this. Most of the software others will build with GPL'd stuff isn't interesting to the owner of the original code. They're not doing it to fix bugs. They're doing it to add stuff for their own products. No community of the original software's devs is going to want the output of everyone else's surrounding code or customizations.
I am not so sure about what you say about releasing it to only paying customers. That might be true. In that case one of the original developers could buy 1 license or the community could pay for 1 license and this way get the source code. Then the developers of the modification would get some pay and the original developers would get the source code.