I am commenting to offer a different perspective to the majority of PP.
Before you added this comment, I was going to ask about neurodiversity. Because everything you're describing is a very neurodiverse way of communicating and thinking. And for disclosure, I'm autistic and have ADHD myself.
What's key here is that you can push back on anything he says, and he doesn't take it personally. He's not doing any of it to control you because of his personal whims - it's because of things you've said, so he's trying to help in the only way that he knows how. So for example, you've said you are unhappy about your weight and want to lose weight - he's pointing out that extra cheese won't help you with your goals. It's a bizarre type of love language. If you hadn't told him that you wanted to lose weight, he probably wouldn't have noticed and wouldn't have said anything.
Think of it like Spock from Star Trek - it's not emotional, it's logical.
Same as the Disney T-shirt. He didn't show disapproval or comment - but when you asked him directly, he didn't lie. We have to work hard to figure out what to say sometimes, and it's not unusual for the truth to spill out before we've either a) figured out that we shouldn't be telling the truth or b) figured out what we should say instead of the truth.
Re the temper thing, it's not nice for anyone to lose their temper with you. And even if he was dysregulated as you describe, he shouldn't have shouted at you. But you shouted back, and he apologised. That's nothing like the dynamics of a controlling, abusive relationship. Also, this has only happened once - I could probably get over being yelled at once if it was followed by a genuine apology and explanation, as you've indicated. Especially as he was fine with you giving it back to him both barrels!
The love language of someone who's neurodiverse can look quite different. We often try to practically help with things that you might have mentioned. Sometimes we forget that people don't always want help, and just want some emotional cheerleading. What I think is really positive is that you have said you can be brutally honest with him in return, and he takes it on the chin with no resentment. That kind of honesty in a relationship can be very refreshing.
Despite all of that, not everyone is going to be the right fit for someone who's neurodiverse. The wrong partners have reduced me to a huge ball of non-functioning anxiety, or I've overwhelmed them because I'm OTT, exuberant and just "too much" all of the time.
You don't have to be in a relationship with someone if you find the unfiltered honesty too much. It's not for everyone, and that's perfectly OK. I don't tend to shout at anyone and I don't personally cope well with people who shout at me, so again, that might be a consideration. Conversely, others don't mind a good shouting match from time to time.
If you find him too much, or you just don't feel that you get the level of emotional love from him that you want, it's OK to accept that you're not a good fit. He doesn't have to be abusive for you to exit the relationship. Ultimately if you don't feel as if you can relax and be yourself around him, this relationship doesn't have a future does it? For it to work, you'd need to be comfortable being equally frank in return. With the food example - "yeah, I know cheese has more calories but I'm not going to worry about it for this meal tonight". A relationship shouldn't be hard work all of the time. Is it?
Btw, I'm not commenting on the marijuana as I've got no idea whether it's a good move or not. I know lots of people use it to help with mood etc and I know that GPs won't discuss it because it's illegal. So I'm removing that from the equation as I think the more fundamental issue is his neurodiversity and whether this approach to a relationship is right for you.