A few thoughts.
If the premise of your question is whether you can transition from a Python developer into developing stuff to work with Discourse, then the answer is a little more nuanced.
As you’ve discovered, the journey from Python to Ruby is relatively trivial. You can make Ruby do what you can do in Python by simply learning the semantic differences.
However, as I had to make the same leap a few years back, if you simply try to do what you can do with Python in Ruby, you will miss out on some of the stuff that makes Ruby “Ruby”.
Secondly, that Discourse nuance.
Whilst the backend is Ruby-based, a great deal of the ‘complexity’ in creating things for Discourse lies in developing both the backend (Ruby) and client (JavaScript/Ember) to work in harmony.
Even with a thorough understanding of how to use Ruby, you also need to invest some time in understanding how the Discourse backend functions. There is an excellent eco-system that the back-end provides to plugins - such as data access / data structures, logging, inter-process messaging, async jobs, etc. I found that getting a good understanding of this was important.
I found it really rewarding to take a look at Ruby, but I found the front-end stuff JavaScript too challenging for my needs. I’m a hobby coder with a few miles on the clock, so I’d put it down to that and the lack of an agile mind.
That said, I’ve been able to grasp other JavaScript frameworks - Svelte for example. Ember-specifics and the rigid instantiation flow / coordination and folder structures were a little complex for me and my needs.
My solution was to use the excellent Custom Wizard Plugin to capture front-end interaction and then pass it over to my back-end Ruby code. This works well with batch-type processes but is less useful in interactive environments.
Good luck.