I am attempting to find the limit of the sequence $$ \frac{(2n+3)^n}{(3n+1)^n} .$$
I started by making this into one fraction with a single power $$ \left(\frac{2n+3}{3n+1}\right)^n $$
after which I calculated that the fraction as $n \to \infty =\frac{2}{3}$, and this to the power $\left(\frac{2}{3}\right)^n =0$.
However, I feel as though what I did wasn’t valid. Was it incorrect? And if so, why, and what should I have done?
(note: we are not yet supposed to use L’Hopitals or logarithms)
The answer is "kinda" in the sense that, from basic definitions, this is not allowed, but that you can prove theorems that justify it.
If you're working directly from definitions, it's better to first notice that $$0\leq \frac{2n+3}{3n+1} \leq \frac{3}4$$ for all large enough $n$ - or to show this for whatever upper bound less than $1$ that you like - and then to observe that $$0 \leq \left(\frac{2n+3}{3n+1}\right)^n \leq \left(\frac{3}4\right)^n$$ and then note that you can bound the right side to be as small as you like, so this limit has to converge to $0$.
Since you mention not being allowed to use various rules, this might be the most appropriate way to work - it basically captures the intuition you have that the term in the limit acts like a decaying exponential, but it includes the bells and whistles for a formal argument.
However, you can also prove, in general, that if $a_n$ and $b_n$ are arbitrary sequences such that $\lim_{n\rightarrow\infty} a_n$ is in $(0,1)$ or $(1,\infty)$, then $$\lim_{n\rightarrow\infty}a_n^{b_n}$$ behaves exactly the same as $$\lim_{n\rightarrow\infty}\left(\lim_{k\rightarrow\infty}a_k\right)^{b_n}$$ which is basically the fact you use. Generally, though, manipulations like this are dangerous unless you can justify them explicitly by a proof.