How to use a TypeScript method decorator and retain normal `this` scope

The issue in your question seems to be that you're using an arrow function as a method, which is not advisable since arrow functions don't get their own this context.

You went on to say that changing this doesn't fix your issue, but I can't reproduce that:

const someDecorator = (argPassed: any) => {
    return (target: any, propertyKey: string, descriptor: PropertyDescriptor) => {
        const originalMethod = descriptor.value;
        console.log("ARGPASSED: ");
        console.log(argPassed);
        // anonymous function, not arrow
        descriptor.value = function (...args: any[]) {
            const result = originalMethod.apply(this, args);
            return result;
        };
    };
};

class SomeClass {    
    constructor() { }

    @someDecorator('Passing this in...')
    public doingSomething(argPassed: string) {   
        console.log("THIS: ")
        console.log(this); 
        this.otherMethodInMyClass(argPassed);
    }

    private otherMethodInMyClass = (argPassed: any) => { }
}

new SomeClass().doingSomething("abc");
// ARGPASSED: 
// Passing this in...
// THIS: 
// Object { otherMethodInMyClass: otherMethodInMyClass() }

Link to code in Playground

Looks good to me. If your issue persists, you might want to include more details about your configuration in your question. It always helps to make sure that code in your questions constitutes a reproducible example. Good luck!