I need to create a pseudo Algorithm to determine if $L_1$ is a subset of $L_2$ where both are regular languages with a given DFA.
I thought about creating the intersection automaton of $L_1$ and $L_2$ and see if the intersection is equal to $L_1$ that way we'll know it's a subset of $L_2$.
But I'm not sure how to prove that the intersection is equal to $L_1$ and also am I even allowed to do intersection/union on two automatons if I don't know whether or not they have the same alphabet?
You’ve already figured out the main part of the problem in the comments. If the two DFAs have the same alphabet, then we can check whether the languages are the same by constructing DFAs which recognise $L_1 \cap L_2^c$ and $L_1^c \cap L_2$ and testing whether either DFA recognises at least 1 string.
If the two don’t have the same alphabet, we can extend the DFAs to operate on the combined accident by adding a new failure state. More precisely, let $\Sigma_i$ be the alphabet for the DFA recognising $L_i$ for $i = 1, 2$. We extend the DFA for $L_1$ by adding a single failure state $f$. $f$ will always transition to itself and is not an accepting state, and any state from the original DFA should transition to $f$ upon seeing any character in $\Sigma_2 \setminus \Sigma_1$. This gives us a new DFA recognising the same language but with the expanded alphabet $\Sigma_1 \cup \Sigma_2$. Do the same for the other DFA.
All in all, this gives us a polynomial time algorithm for checking whether two DFAs recognise the same language. An alternative would be computing the minimal DFA for each language and comparing them, which is also a polynomial time algorithm but would probably be somewhat more complicated.