I just wanted to know how they were different (tone, formality, implications, etc.).
正直に means "without hiding", whereas 率直に means "without sugar coating". For example you can say to a child who is apparently hiding some truth "正直に言いなさい", but not "率直に言いなさい".
正直な感想を言いますと would imply the speaker was hiding, or was considering hiding his/her true feelings (or at least could have considered hiding). This is useful as a softener before mentioning something that might upset the listener. 率直な感想を言いますと simply means he/she is being candid, so it can be used for positive things as well.
When you say
It would mean "Really, my honest opinion is that this could be the best workplace in Japan".