It’s a really bad idea to inject terms into the default namespace. It’s a recipe for conflicting terms. Please don’t do it. All ActivityPub documents are meant to be shared – with clients or with other servers.
Also, using a junk drawer namespace based on your application (“https://myprogram.example/ns#someTerm”) is an anti-pattern. Throwing a bunch of terms together into a namespace just because your app uses all of them is going to make it hard to standardize them later. You can easily set up separate namespaces for each group of related terms, like “https://myprogram.example/ns/backgroundColours#” and “https://myprogram.example/ns/jobTypes#”.