I'm not 100% sure if this is how things work (because I haven't used sfdx in this capacity), but...
When you create a new field on an SObject, and deploy that field to another org, the permissions for that field are generally not transferred to the receiving org.
Long story short, unless you know for a fact that you're deploying profile data too1, you'll ...
In Summer '20 release that just rolled out, a new permission Skip Identity Confirmation at Login permission was introduced for this purpose. If you add this permission to a permission set then assign the permission set to one or more users, you'll have what you're after.
Using a single integration user is certainly possible however you need to keep a couple of things in mind
Data visibility: every application can also see the data of the other applications as it all comes from the same user.
Permissions: Applications will most likely have broader permissions than they need as the ...
The only thing the administrator can do is to set only one active record type for the user. This would bypass the record type selection screen automatically. There's no way to access Personal Preferences via an API.
I've just faced a similar issue to share cases created by external users and routed to internal users.
There are Sharing sets in Community Settings. You can play around with that and set up access to Case by Contact matching to community User Contact.
To do so:
Go to Community Settings, sharing sets and create a new one
Select Case as a supported object and ...